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 :

converti en Small date


Sujet :

MS SQL Server

  1. #1
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut converti en Small date
    Bonjour,

    Je voudrais connaitre la fonction qui permet de convertir une date du type 04/09/2006 16:58:25 en une date de type 04/09/2006

    Le savoir n'est rien sans celui des autres !!
    P59

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    convert(datetime,MaDate,103)

  3. #3
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    Fonctionne pas mais merci quand même

  4. #4
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    En fait ce ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select Date, convert(datetime,Date,103) as Date_converti 
    from DataTable
    résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Date                Date_converti
    ------------------------ -------------------------
    2006-06-13 06:20:15.39	   2006-06-13 06:20:15.39
    2006-06-13 06:20:27.25	   2006-06-13 06:20:27.25
    2006-06-13 06:20:53.013    2006-06-13 06:20:53.013
    2006-06-13 06:21:39.043	   2006-06-13 06:21:39.043
    2006-06-13 06:23:08.357	   2006-06-13 06:23:08.357
    est ce le fait que ma date sous sql server soit en YYYY-MM-DD qui pose problème ?

    Merci !!

    Le savoir n'est rien sans celui des autres !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Bonjour;

    essay

    convert(nvarchar(12),MaDate)

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Salut,

    essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CONVERT(varchar, Date, 103) AS Date
    FROM DateTable

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Salut;

    t a touver la meilleur solution guigui félicitations!

  8. #8
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    Merci ca marche !!!
    Mais il y a un autre probleme maintenant le fait que je perde mon format date

    pour le remettre en date je dois luis faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select 
    dateadd(day,0,convert(varchar,csd_state_history_deriv.upd_date,103)) 
    as Date 
    from matable
    c'est lourd mais ca marche
    merci à tous !!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par Poisson59
    c'est lourd mais ca marche
    merci à tous !!
    Ah bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create table maTable (theDate smalldatetime null)
     
    insert into maTable values ('2006-06-13 06:20:15.39')
     
    select 
    dateadd(day,0,convert(varchar,theDate,103)) 
     from matable
    résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Server: Msg 242, Level 16, State 3, Line 1
    The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
    tu as plutot interet à faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select 
    	convert(varchar(12),year(theDate)) +'/'
    	+ right('00' + convert(varchar(12),month(thedate)),2) + '/'
    	 + right('00' + convert(varchar(12),day(thedate)),2)
     from matable
    mais de toute manière, dès que tu vas retransformer cela en datetime ou smalldatetiem, tu auras droit dans la base à de jolis "00:00:00.000"

  10. #10
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    les 00:00:00:0 ne me dérange pas car les dates
    sont les mêmes pour toute les lignes qui avant avais la même date mais pas la même heure

    Désolé pour toi ZERS mais mois ca marche, je suis sous SQLSERVER 2000

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select upd_date, 
    dateadd(day,0,convert(varchar,upd_date,103)) as date2 
    from matable
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
             upd_date                 date2
    ---------------------       -------------------
    2006-06-13 06:20:15.39	   2006-06-13 00:00:00.0
    2006-06-13 06:20:27.25	   2006-06-13 00:00:00.0
    2006-06-13 06:20:53.013	   2006-06-13 00:00:00.0
    2006-06-13 06:21:39.043	   2006-06-13 00:00:00.0
    2006-06-13 06:23:08.357	   2006-06-13 00:00:00.0
    Merci !!

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par Poisson59
    Désolé pour toi ZERS mais mois ca marche, je suis sous SQLSERVER 2000
    Ne sois pas désolé l'ami mais moi aussi j'ai SQL 2000. Mais quelle est la langue de ta base ? Que ca-t-il se passer si tu changes cela ? Quelle est la valeur de DATEFORMAT ??? Quelle est la collation par défaut puisque tu utilises une conversion en varchar ????

    Ce que je veux dire que le code qui marche chez toi et pas chez moi, dépend d'autres paramètres. Et que donc c'est dangereux de croire définitvement que ca marche.

    Citation Envoyé par Poisson59
    les 00:00:00:0 ne me dérange pas car les dates
    sont les mêmes pour toute les lignes qui avant avais la même date mais pas la même heure
    Et bien là, il fallait le dire tout de suite car ce n'est pas la question initiale posée qui était
    Citation Envoyé par Poisson59
    Je voudrais connaitre la fonction qui permet de convertir une date du type 04/09/2006 16:58:25 en une date de type 04/09/2006
    Si tu voulais vérifier que les dates étaient les mêmes pour toutes les lignes, il suffit d'utiliser la fonction DATEDIFF avec option DD

  12. #12
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    Je ne met pas en cause tes compétences, je vois bien que tu connais bien SQL SERVER car tu répond trés souvent à mes post et cela m'aide enormément. moi je suis néophite sur SQL SERVER.

    j'ai refait les codes suivant que tu m'avais fillé :

    create table maTable (theDate smalldatetime null)

    insert into maTable values ('2006-06-13 06:20:15.39')

    select
    dateadd(day,0,convert(varchar,theDate,103))
    from matable
    chez moi ca plante au niveau de l'insert car la valeur que tu mets est en datetime alors que lors de la création de la table tu as mis smalldatetime

    ensuite le select marche

  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 : 47
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    La réponse se trouve dans la Faq sql serveur.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/01/2011, 15h33
  2. small date time
    Par rochna dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 02/09/2010, 16h18
  3. [XL-2007] Comment faire pour que 2010-01-01 ne soit pas converti en date
    Par pierrot10 dans le forum Excel
    Réponses: 4
    Dernier message: 09/04/2010, 14h46
  4. Extraire éléments de date et les convertir en SMALL INT
    Par deviltaz dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/05/2009, 10h27
  5. converti timestamp en date UTC
    Par imad_limoges dans le forum C++
    Réponses: 1
    Dernier message: 10/09/2006, 03h33

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