MySQL SELECT最近几天?

时间:2009-11-11 04:41:58

标签: mysql sql

我正在玩MYSQL,我知道有一个限制命令显示了一定数量的结果,但我想知道MySQL是否只能显示过去3天或其他什么。只是想知道。

更新 我用NOW()来存储时间。

5 个答案:

答案 0 :(得分:133)

三天前使用日期:

WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

查看DATE_ADD文档。

或者您可以使用:

WHERE t.date >= ( CURDATE() - INTERVAL 3 DAY )

答案 1 :(得分:12)

您可以在MySQL WHERE子句中使用它来返回在过去7天/周内创建的记录:

created >= DATE_SUB(CURDATE(),INTERVAL 7 day)

在减法中也使用NOW()来给出hh:mm:ss分辨率。因此,要返回在过去24小时内准确创建(到第二个)的记录,您可以这样做:

created >= DATE_SUB(NOW(),INTERVAL 1 day)

答案 2 :(得分:2)

您可以使用UNIX_TIMESTAMP()函数的组合来执行此操作。

SELECT ... FROM ... WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(thefield) < 259200

答案 3 :(得分:-2)

WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL '-3' DAY);

在-3值上使用引号

答案 4 :(得分:-2)

SELECT DATEDIFF(NOW(),pickup_date) AS noofday 
FROM cir_order 
WHERE DATEDIFF(NOW(),pickup_date)>2;

SELECT * 
FROM cir_order 
WHERE cir_order.`cir_date` >= DATE_ADD( CURDATE(), INTERVAL -10 DAY )