根据当前日期查询结果

时间:2015-07-10 18:32:24

标签: mysql sql

我想弄清楚如何根据当前日期选择结果。该脚本将每天运行,但我不确定如何自动执行。

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

我现在正在尝试

SELECT * FROM Orders WHERE OrderDate=NOW() - INTERVAL 1 DAY

2 个答案:

答案 0 :(得分:1)

SELECT * 
FROM Orders 
WHERE OrderDate >= DATE(NOW())
AND OrderDate < DATE(NOW()) + INTERVAL 1 DAY

修改

当我希望我正在检查的列也有时间组件时,我总是倾向于编写上面的查询样式。

如果您的OrderDate列没有时间组件,那么正如Lennart指出的那样,您可以执行以下操作:

SELECT * 
FROM Orders 
WHERE OrderDate = DATE(NOW())

编辑2 :Mihai对您的问题的评论也很重要。您只需使用CURDATE()代替DATE(NOW())

答案 1 :(得分:0)

你可以做到

SELECT * FROM Orders WHERE (OrderDate  > DATE_SUB(NOW(),INTERVAL 1 DAY))