我正试图从前天检索记录。下面的查询返回昨天的记录......
SELECT * FROM table WHERE `DATE` > DATE_ADD(CURDATE(), INTERVAL -2 DAY) AND `DATE` < CURDATE()
以下查询返回前一天和昨天的记录......
SELECT * FROM table WHERE `DATE` > DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND `DATE` < CURDATE()
虽然我真的想在前天获取唱片。我正在尝试以下查询,但它不起作用......
SELECT * FROM table WHERE `DATE` > DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND `DATE` < DATE_ADD(CURDATE(), INTERVAL -2 DAY)
有人能指出我正确的方向吗?
答案 0 :(得分:1)
这可能有用,或者&gt; =和&lt;
的组合基本上,您正在寻找一个不存在的日期范围。
SELECT * FROM table WHERE `DATE` = DATE_ADD(CURDATE(), INTERVAL -2 DAY)
答案 1 :(得分:1)
试试这个: -
SELECT * FROM table WHERE DATE = CURDATE() - 2;
或
SELECT * FROM table where DATE = DATE_SUB(CURDATE(),INTERVAL 2 DAY);
答案 2 :(得分:0)
您可以使用更简单的方法,无需DATE_ADD或DATE_SUB:
SELECT * FROM table WHERE DATE = CURDATE() - INTERVAL 2 DAY
从昨天开始追溯记录:
SELECT * FROM table WHERE DATE = CURDATE() - INTERVAL 1 DAY
但如果您的DATE
列是DATETIME:
SELECT * FROM table WHERE DATE BETWEEN CURDATE() - INTERVAL 2 DAY AND CURDATE() - INTERVAL 1 DAY