如果我試圖將結果限制在昨天,從午夜到午夜,我的where子句中會出現什麼情況。我知道「> = NOW() - 1 Interval Day」會返回過去24小時,但對於每日報告,並且想要在除午夜之外的任何時候查看報告,我該如何實現?SQL搜索午夜到午夜
謝謝!
如果我試圖將結果限制在昨天,從午夜到午夜,我的where子句中會出現什麼情況。我知道「> = NOW() - 1 Interval Day」會返回過去24小時,但對於每日報告,並且想要在除午夜之外的任何時候查看報告,我該如何實現?SQL搜索午夜到午夜
謝謝!
您可以使用CURDATE()
:
where col >= date_sub(CURDATE(), interval 1 day) and
col < CURDATE()
http://sqlfiddle.com/#!9/431a2/3
SELECT *
FROM t1
WHERE t >= CURDATE();
SELECT
CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 00:00:00') AS start_date,
CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 23:59:59') AS end_date;
這應該得到你想要的日期,然後把CONCAT(...)的部分到您的where子句。
可能重複的[使用DATETIME mysql查詢日期之間的時間範圍](http://stackoverflow.com/questions/20814364/query-time-range-between-dates-using-datetime-mysql) – bjmc