IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

DATETIME, AU SECOURS !!!!!!


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut DATETIME, AU SECOURS !!!!!!
    bonjour, j'ai plusieurs pb avec les datetime sous sql server :

    1 - j'ai deux champs datetime, dans le premier il y a une date dans le second une heure, quand je veux les concatener dans un autre champ avec un '+' (champDate + champHeure), il me soustrait deux jours !!!
    ex :
    champDate champHeure concat
    12/04/2004 15:14:00 10/12/2004 15:14:00 !!!

    J'ai essayé avec la fonction CONCAT, sql server le colore en bleu, mais il me sort une erreur comme quoi il connait pas la fonction CONCAT !!!

    2 - Quand je veux faire l'inverse, c'est à dire séparer ma date et mon heure de mon champ concatené j'utilise
    CONVERT(SMALLDATETIME, champDateSmall,103)
    ici je veux dans mon champDateSmall que la date, bah non il me sort tout ! (mon champDateSmall est bien déclaré en SMALLDATETIME) !!


    AU SECOURS PLEASEEEEEEEEEEE !!!!!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Par défaut
    1 - faire "+" sur 2 champs date, je sais pas ce que ça fait, mais tu devrais peut-être les convertir d'abord en chaîne de caractères, et reconvertir le résultat en type date, avec cast ou convert

    en bleu ça signifie qu'il s'agit d'un mot réservé (ou mot clé)
    les fonctions sont en rose

    2 - comme l'indique son nom, le type smalldatetime c'est la date + l'heure
    encore une foir, il faut peut être passer passer des chaînes de caractères, ou des fonctions comme year, month, day

  3. #3
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    comment tu fai pour convertir une date en chaine de caracrteres ???

    DATENAME (month/day/year, champDate) ca fonctionne pas
    DATENAME (mm/dd/yyyy, champdate) ca fonctionne pas non plus

    PS : comme son nom l'indique SMALLDATETIME peut avoir la date ou le time (SMALL !) ou les deux, les codes d'abreviation sont là pour ca

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Par défaut
    Citation Envoyé par HULK
    PS : comme son nom l'indique SMALLDATETIME peut avoir la date ou le time (SMALL !) ou les deux, les codes d'abreviation sont là pour ca
    il suffit de regarder dans l'aide, ça aide à comprendre des fois... :

    smalldatetime
    Données de date et d'heure comprise entre le 1er janvier 1900 et le 6 juin 2079, avec une précision d'une minute.

    "small" c'est juste pour dire que la précision est moindres (4 octets au lieu de 8 pour datetime), mais pas la date ou l'heure...

    si tu demandes de l'aide sur ce ton là, je vois pas qui va t'aider...

  5. #5
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    le smalldatetime c pas que la date ET l'heure, tu peux convertir un datetime en smalldatetime avec que la date avec le code 103 non ???[/quote]

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Par défaut
    perso, je pense pas
    y a 2 octets pour la date et 2 octets pour l'heure, donc quoi qu'il arrive, tu te tapes l'heure.

    mais sinon c'est pas une blague, l'aide en ligne est très bien faite

  7. #7
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    je la connai l'aide en ligne :

    CAST and CONVERT

    Without century (yy) With century (yyyy)
    Standard
    Input/Output**
    - 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM)
    1 101 USA mm/dd/yy
    2 102 ANSI yy.mm.dd
    3 103 British/French dd/mm/yy
    4 104 German dd.mm.yy
    5 105 Italian dd-mm-yy
    6 106 - dd mon yy
    7 107 - Mon dd, yy
    8 108 - hh:mm:ss

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Par défaut
    je parlais pour le type de données smalldatetime

  9. #9
    Membre expérimenté
    Inscrit en
    Février 2003
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 182
    Par défaut
    ne petite correction

    CONVERT(SMALLDATETIME, champDateSmall,103)
    ici je veux dans mon champDateSmall que la date, bah non il me sort tout ! (mon champDateSmall est bien déclaré en
    Normal, il faut plutôt faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONVERT(varchar(10), champDateSmall,103)
    A+

  10. #10
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    ouai j'ai essayé ca fonctionne merci mais j'ai un autre pb.

    j'ai trois champs, un varchar et deux datetime, dans le varchar j'ai ce format là : jan 7 2005 1:00PM

    je veux extraire la date et l'heure dans chacun de mes deux champs datetime, pour la date j'y arrive, je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monChampDate = SUBSTRING (CAST (monChampVarChar as varchar(50)))1, 11)
    il me met bien alors "1/7/2005"

    pour l'heure j'ai un pb, qd je fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monChampTime = SUBSTRING (CAST (monChampVarChar as varchar(50)))12, 25)
    j'ai ca : 1/7/2005 1:00PM
    et qd je fai ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monChampTime = SUBSTRING (CAST (monChampVarChar as varchar(50)))12, 25)
    j'ai ca : 1/1/1900 1:00 PM

    Comment faire pour avoir que 1:00 PM ??? Merci

  11. #11
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    dsl dans mon deuxieme code je n'ai pas le SUBSTRING !

  12. #12
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 8
    Par défaut
    Tu devrai utiliser la fonction STUFF pour soustraire la date à ta chaine de caractére contenant la date et l'heure. Il ne te resterai alors plus que l'heure.

    Sinon, moi aussi j'ai un petit probléme. Dans une table j'ai un champ contenant une date, et je voudrai faire une vue qui m'affiche sur des colonnes différentes l'année, le mois (en toute lettre et non en chiffre), le numéro de semaine, et le jour (en nombre). Est-ce possible ?

  13. #13
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Tu ne peux pas faire ton propre poste ?
    ca évite des confusion n'est ce pas ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Par défaut
    Citation Envoyé par cazaux
    Sinon, moi aussi j'ai un petit probléme. Dans une table j'ai un champ contenant une date, et je voudrai faire une vue qui m'affiche sur des colonnes différentes l'année, le mois (en toute lettre et non en chiffre), le numéro de semaine, et le jour (en nombre). Est-ce possible ?
    pour les dates en tout lettre, utilises la fonction DATENAME
    pour le jour en nombre, t'as DAY ou DATEPART
    et pour le numéro de semaine, ce post en parle
    http://www.developpez.net/forums/vie...66ffce50a601ae

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  2. Convertir un datetime to mm.yyyy ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/09/2003, 15h45
  3. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28
  4. Réponses: 3
    Dernier message: 23/09/2003, 09h12
  5. CAST DATETIME ----> SMALLDATETIME
    Par Guizz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/06/2003, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo