SQL - 从昨天前一天检索记录

时间:2013-07-07 03:40:16

标签: mysql sql

我正试图从前天检索记录。下面的查询返回昨天的记录......

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)

有人能指出我正确的方向吗?

3 个答案:

答案 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