På SQL Server 2008 vil du have en ny DATE
datatype, som du kan bruge til at opnå dette:
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)
kaster den aktuelle dato og det aktuelle klokkeslæt til en kun datoværdi, f.eks. returner '2010-04-06' for den 6. april 2010. Tilføjelse af én dag til det vælger i princippet alle dato- og klokkeslætværdier for i dag.
I SQL Server 2005 er der ingen nem måde at gøre dette på - den mest elegante løsning, jeg fandt her, er at bruge numerisk manipulation af DATETIME for at opnå det samme 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))