Das Problem ist doch immer wieder, das in einer DateTime-Spalte auch die Uhrzeit drinsteht (oder kann). Weiterhin will man schnelle Abfragen, und das geht nur, wenn der
SQL-Server einen Index verwenden kann. Das kann er nicht bei marabus DateDiff-Alternative.
Wenn ich alle Datensätze von einem bestimmten Tag haben will, verwende ich 'BETWEEN':
Select * from Tabelle where DateTimeField Between <MyDate> and <MyDate+1>
Ich rechne 'MyDate+1' im Client aus und formatiere das Datum
ODBC-Konform, und zwar so:
Select * from Tabelle where DateTimeField Between { d '12-24-2005' } and { ts '12-24-2005 23:59:59' }
Die Datumsformatierung mutet exotisch an, ist sie auch, aber
MSSQL-konform.