На SQL Server 2008 ще имате нова DATE
тип данни, който бихте могли да използвате, за да постигнете това:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
CAST(GETDATE() AS DATE)
прехвърля текущата дата и час към стойност само за дата, напр. върнете '2010-04-06' за 6 април 2010 г. Добавянето на един ден към него по принцип избира всички стойности за дата и час за днес.
В SQL Server 2005 няма лесен начин да направите това - най-елегантното решение, което намерих тук, е използването на цифрова манипулация на DATETIME за постигане на същия резултат:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND
DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))