SQL Server 2008: Obtenir la date de la partie de datetime2
J'ai été en utilisant cette méthode pratique de l'extraction de la partie date à partir d'un datetime
valeur:
select dateadd(day, datediff(day, 0, @inDate), 0)
Fondamentalement remet à zéro le temps de la partie de la date. C'est rapide, et le plus important il est déterministe - vous pouvez utiliser cette expression dans une colonne calculée persistante, de la vue indexée, etc.
Cependant j'ai du mal à venir avec quelque chose qui fonctionne avec le datetime2
type. Le problème étant que SQL Server n'a pas l'autorisation des conversions de nombres entiers à l' datetime2
type.
Est-il un équivalent, déterministe méthode de décapage de la partie heure à partir d'un datetime2
?
- Que diriez -
SELECT CONVERT(DATE, @inDate)
? OuSELECT CONVERT(DATETIME2, CONVERT(DATE, @inDate))
si vous avez besoin de retourner unDATETIME2
.
Vous devez vous connecter pour publier un commentaire.
Ne pouvez-vous pas juste faire un
La
CAST(... AS DATE)
transforme votre colonne datetime2 dans une "date seulement", et il semble être déterministe assez pour être utilisé dans un persisté, définition de colonne calculée ...