use intervalo ou função 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
Outras opções são:
-
Se você tem controle sobre o esquema do banco de dados e não precisa dos dados de tempo, retire-os.
-
ou, se você precisar mantê-lo, adicione um atributo de coluna computado que tenha a parte de hora do valor de data removida...
Alter table Test
Add DateOnly As
DateAdd(day, datediff(day, 0, date), 0)
ou, em versões mais recentes do SQL Server...
Alter table Test
Add DateOnly As
Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)
então, você pode escrever sua consulta simplesmente:
select * from test
where DateOnly = '03/19/2014'