Có, bạn sẽ sử dụng >=
và <
thường cho các truy vấn phạm vi thời gian / ngày
Ngoài ra, bạn có thể trừ 3 mili giây từ giới hạn trên để nhận giá trị datetime (không phải datetime2 mới hơn) cao nhất cho ngày đó (xxx 23:59.59.997
)
SELECT * FROM log_file
WHERE submission_date BETWEEN 1323714600000 AND 1323801000000-3
Lưu ý:trừ đi 1 có thể sẽ ổn nếu mọi thứ là mili giây ...
Chỉnh sửa, ví dụ về lý do tại sao 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
Và thật thú vị, bạn có chắc đây là nửa đêm không?
Trong 1323813600 giây, tôi nhận được 2011-12-13 22:00:00
Trên SQL Server:
SELECT DATEADD(second, 1323813600, '19700101')
Trên MySQL
SELECT FROM_UNIXTIME(1323813600)