我正在尝试检索前天的记录。下面的查询返回昨天的记录...
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)
有人能给我指出正确的方向吗?
最佳答案
您可以使用更简单的方法,不使用 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
关于mysql - SQL - 检索前天的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17509063/