Это довольно распространенная ситуация, когда вы хотите, чтобы дата выходила только из даты-времени - вы должны иметь возможность обращаться к Google за подробностями вашей СУБД (поскольку вы ее не упоминаете). Важный момент - сделать ваш запрос SARGable , преобразовав сегодняшний дата 1 , а не дату заказа.
Для MSSQL что-то вроде
SELECT DISTINCT CustomerID
FROM TableName
--I assume you want midnight orders as well - so use >=
Where OrderDate >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
сработает, если взять сегодня число дней с даты 0 (DATEDIFF(dd, 0, GETDATE())
) и добавить их обратно к дате 0 (DATEADD(dd, 0, x)
). Это специфично для T-SQL.
1 Если бы вы искали произвольную дату, вы бы все равно преобразовали оба аргумента:
SELECT DISTINCT CustomerID
FROM TableName
Where
OrderDate >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
--You *do not* want midnight of the next day, as it would duplicate orders
AND OrderDate < DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()) + 1)