Ja, du skulle använda >=
och <
vanligtvis för frågor om tid/datumintervall
Alternativt kan du subtrahera 3 millisekunder från den övre gränsen för att få det högsta datetime-värdet (inte nyare datetime2) för den dagen (xxx 23:59.59.997
)
SELECT * FROM log_file
WHERE submission_date BETWEEN 1323714600000 AND 1323801000000-3
Notera:att subtrahera 1 skulle förmodligen vara OK om allt är millisekunder...
Redigera, exempel på varför 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
Och intressant, är du säker på att det är midnatt?
I 1323813600 sekunder får jag 2011-12-13 22:00:00
På SQL Server:
SELECT DATEADD(second, 1323813600, '19700101')
På MySQL
SELECT FROM_UNIXTIME(1323813600)