Ja, Sie würden >=
verwenden und <
typischerweise für Zeit-/Datumsbereichsabfragen
Alternativ könnten Sie 3 Millisekunden von der Obergrenze abziehen, um den höchsten datetime-Wert (nicht neuer datetime2) für diesen Tag zu erhalten (xxx 23:59.59.997
). )
SELECT * FROM log_file
WHERE submission_date BETWEEN 1323714600000 AND 1323801000000-3
Hinweis:Subtrahieren von 1 wäre wahrscheinlich in Ordnung, wenn alles Millisekunden ist ...
Edit, Beispiel warum 3ms
SELECT
DATEADD(millisecond, -1, '20111214'), -- 2011-12-14 00:00:00.000
DATEADD(millisecond, -2, '20111214'), -- 2011-12-13 23:59:59.997
DATEADD(millisecond, -3, '20111214') -- 2011-12-13 23:59:59.997
Und interessanterweise, sind Sie sicher, dass es Mitternacht ist?
Für 1323813600 Sekunden bekomme ich 2011-12-13 22:00:00
Auf SQL Server:
SELECT DATEADD(second, 1323813600, '19700101')
Auf MySQL
SELECT FROM_UNIXTIME(1323813600)