Quand passer par la procédure stockée existante de notre application, j'ai vu le code ci-dessous:
cast(floor(cast(@weekdate as float)) as datetime)
Quelqu'un explique le but derrière ce code? @Weekdate
est un champ datetime
.
Il tronque le time du datetime.
SELECT DateAndTime = GETDATE(), DateOnly = cast(floor(cast(GETDATE() as float)) as datetime)
Démo
Voici une autre méthode que j'utilise sur SQL Server 2005:
dateadd(dd, datediff(dd,0, GETDATE()), 0)
SQL-Server 2008 a introduit le type de date
, alors c'est plus simple:
cast(@weekdate as date)