Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonction de format de date SQL Server

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 .