[SQL2005] [TSQL] Valeur retournée par CONVERT(datetime, char)
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.
Code:
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 |
Aucun soucis, ma date dans la table B est mise à jour et j'obtiens ceci :
pour B.Id = 1, j'obtiens '24/02/2005 00:00:00'
Par contre, lorsque je fais :
Code:
1 2 3
| SELECT CONVERT(datetime, DateCreate)
FROM A
WHERE Id = 1 |
J'obtiens une date sous cette forme '2005-02-24 00:00:00.000'.
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