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)? Ou SELECT CONVERT(DATETIME2, CONVERT(DATE, @inDate)) si vous avez besoin de retourner un DATETIME2.
InformationsquelleAutor Trent | 2012-12-08