Без каких-либо других деталей схемы, и если это SQL Server 2K8 +, вы можете сделать это:
DECLARE @CreationDate Date = '2011-08-31';
SELECT *
FROM SomeTable
WHERE CONVERT(Date, CreationDate) = @CreationDate;
Преобразовав в date
вместо работы с datetime
, вы потеряете компонент времении "нормализуйте", как вы сравниваете значения.
Другой способ потерять компонент времени для целей сравнения:
DECLARE @CreationDate DateTime;
SELECT @CreationDate = '2011-08-31 21:19:14.345';
SELECT @CreationDate; -- 2011-08-31 21:19:14.345
SELECT @CreationDate = CONVERT(DateTime, FLOOR(CONVERT(Float, @CreationDate)));
SELECT @CreationDate; -- 2011-08-31 00:00:00.000
Вы бы использовали это, если у вас нетdate
тип данных.