Dans SQL Server, un type de données DATETIME est stocké sous la forme de 2 entiers de 4 octets, de sorte qu'il n'a pas de formatage particulier comme celui-ci.
Si vous souhaitez renvoyer la date dans un format spécifique, vous devez la CONVERTIR en VARCHAR avec l'identifiant de format approprié spécifié.
Si vous avez une date/heure dans un VARCHAR et que vous souhaitez la stocker dans un champ DATETIME dans SQL Server, vous devez vous assurer de transmettre cette valeur à SQL dans un format qui sera toujours interprété en toute sécurité. par exemple. Le format jj/mm/AAAA n'est pas sûr car, selon les paramètres, il peut être traité comme mm/jj/aaaa lorsqu'il entre. Les formats sûrs sont :
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
par exemple.
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
Mise à jour :
Lorsque vous SÉLECTIONNEZ un champ DATETIME (GETDATE(), champ, variable ....), ce que vous voyez dans SSMS est une valeur formatée car c'est ce qui vous est utile, au lieu de montrer sa représentation interne réelle de 8 octets .