På SQL Server 2008 skulle du ha en ny DATE
datatyp, som du kan använda för att uppnå detta:
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)
kastar det aktuella datumet och tiden till ett värde endast för datum, t.ex. returnera '2010-04-06' för den 6 april 2010. Om du lägger till en dag till det väljs i princip alla datum och tid-värden för idag.
I SQL Server 2005 finns det inget enkelt sätt att göra detta - den mest eleganta lösningen jag hittade här är att använda numerisk manipulation av DATETIME för att uppnå samma resultat:
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))