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

Préserver le format lors du passage des valeurs DateTime à la procédure stockée

Un DateTime est un DateTime est un DateTime - il "n'a" aucun format (orienté chaîne) lorsqu'il est stocké dans SQL Server (il est stocké en tant que long 64 bits). Si vous passez un paramètre à une procédure stockée en tant que DateTime déjà, ça devrait aller ! La valeur sera stockée par SQL Server sans modifier toute mise en forme - car aucune mise en forme n'y est associée...

Le seul point où la date est représentée dans un format de chaîne donné, c'est lorsque vous le regardez dans SQL Server Management Studio, ou lorsque vous le convertissez en un format de chaîne, par exemple. votre application .NET.

Lorsque vous avez besoin de passer d'une manière ou d'une autre une représentation de chaîne dans SQL Server (par exemple pour la recherche, etc.), celle qui est la plus robuste et qui fonctionnera avec tout le paramètre régional/langue est ISO-8601 format de date :YYYYMMDD ou alternativement (si vous avez besoin de la partie horaire) YYYY-MM-DDTHH:MM:SS (où le T au milieu se trouve un littéral, séparant les parties de date et d'heure)