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
Version imprimable
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
Bonjour,
Code:convert(datetime,MaDate,103)
Fonctionne pas mais merci quand même
En fait ce ne marche pas
résultat :Code:
1
2
3 select Date, convert(datetime,Date,103) as Date_converti from DataTable
est ce le fait que ma date sous sql server soit en YYYY-MM-DD qui pose problème ?Code:
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
Merci !!
Le savoir n'est rien sans celui des autres !
Bonjour;
essay
convert(nvarchar(12),MaDate)
Salut,
essaye ceci :
Code:
1
2 SELECT CONVERT(varchar, Date, 103) AS Date FROM DateTable
Salut;
t a touver la meilleur solution guigui félicitations! ;)
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
c'est lourd mais ca marcheCode:
1
2
3
4
5 select dateadd(day,0,convert(varchar,csd_state_history_deriv.upd_date,103)) as Date from matable
merci à tous !!
Ah bon ?Citation:
Envoyé par Poisson59
résultat :Code:
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
tu as plutot interet à faire cela :Code:
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.
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"Code:
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
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
Résultat :Code:
1
2
3
4 select upd_date, dateadd(day,0,convert(varchar,upd_date,103)) as date2 from matable
Merci !!Code:
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
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 ????Citation:
Envoyé par Poisson59
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. ;)
Et bien là, il fallait le dire tout de suite car ce n'est pas la question initiale posée qui étaitCitation:
Envoyé par Poisson59
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 DDCitation:
Envoyé par Poisson59
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é :
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 smalldatetimeCitation:
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
ensuite le select marche
La réponse se trouve dans la Faq sql serveur.