我正在玩MYSQL,我知道有一个限制命令显示了一定数量的结果,但我想知道MySQL是否只能显示过去3天或其他什么。只是想知道。
更新 我用NOW()来存储时间。
答案 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 )