Auf SQL Server 2008 hätten Sie ein neues DATE
Datentyp, den Sie verwenden könnten, um dies zu erreichen:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
Der CAST(GETDATE() AS DATE)
wandelt das aktuelle Datum und die Uhrzeit in einen Nur-Datum-Wert um, z. Geben Sie '2010-04-06' für den 6. April 2010 zurück. Wenn Sie dazu einen Tag hinzufügen, werden im Grunde alle datetime-Werte von heute ausgewählt.
In SQL Server 2005 gibt es keinen einfachen Weg, dies zu tun - die eleganteste Lösung, die ich hier gefunden habe, ist die Verwendung einer numerischen Manipulation von DATETIME, um dasselbe Ergebnis zu erzielen:
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))