Bonjour à tous,
Je souhaiterais avoir l'avis de personnes sans doutes plus éclairées que moi sur les fonctions du TSQL notamment au sujet de la conversion de données en datetime.
Je viens d'observer ceci : j'ai deux tables A et B
A contient des dates dans un champ DateCreate de type char(10) ;
B contient des dates dans un champ DateCreate de type datetime.
Pour A.Id = 1, j'ai A.DateCreate='24/02/2005'
J'effectue une requete :
A la fonction CONVERT, je ne spécifie pas, volontairement, le style du format de date.
Aucun soucis, ma date dans la table B est mise à jour et j'obtiens ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE B SET B.DateCreate = CONVERT(datetime, A.DateCreate) FROM B,A WHERE B.Id = A.Id AND A.Id = 1
pour B.Id = 1, j'obtiens '24/02/2005 00:00:00'
Par contre, lorsque je fais :
J'obtiens une date sous cette forme '2005-02-24 00:00:00.000'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT CONVERT(datetime, DateCreate) FROM A WHERE Id = 1
Je suis incapable d'expliquer cette différence entre les deux formats obtenus.
Si quelqu'un aurait une explication, je lui suis tout ouïe
Bonne continuation à vous, et merci d'avance !
Stéphane
Partager