Да, вы бы использовали >=
и <
, как правило, для запросов диапазона времени / даты
В качестве альтернативы вы можете вычесть 3 миллисекунды из верхнего предела, чтобы получить наибольшее значение datetime (не новее datetime2) для этого дня (xxx 23:59.59.997
)
SELECT * FROM log_file
WHERE submission_date BETWEEN 1323714600000 AND 1323801000000-3
Примечание: вычитание 1, вероятно, будет в порядке, если все в миллисекундах ...
Редактировать, пример того, почему 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
И что интересно, ты уверен, что сейчас полночь?
За 1323813600 секунд я получаю 2011-12-13 22:00:00
В SQL Server:
SELECT DATEADD(second, 1323813600, '19700101')
на MySQL
SELECT FROM_UNIXTIME(1323813600)