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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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