utiliser la plage ou la fonction DateDiff
select * from test
where date between '03/19/2014' and '03/19/2014 23:59:59'
ou
select * from test
where datediff(day, date, '03/19/2014') = 0
Les autres options sont :
-
Si vous contrôlez le schéma de la base de données et que vous n'avez pas besoin des données temporelles, supprimez-les.
-
ou, si vous devez le conserver, ajoutez un attribut de colonne calculée dont la partie heure de la valeur de date est supprimée...
Alter table Test
Add DateOnly As
DateAdd(day, datediff(day, 0, date), 0)
ou, dans les versions plus récentes de SQL Server...
Alter table Test
Add DateOnly As
Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)
ensuite, vous pouvez écrire votre requête aussi simplement :
select * from test
where DateOnly = '03/19/2014'