2015-07-10 147 views
-1

我想弄清楚如何根據當前日期選擇結果。該腳本將每天運行,但我不確定如何自動執行此操作。根據當前日期查詢結果

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

什麼我想現在

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

哪個數據庫是這樣嗎? – sstan

+0

對不起,我把它添加到帖子中。 MySQL – user2168066

+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:米哈伊對你的問題的評論也與此相關。您可以簡單地使用CURDATE()而不是DATE(NOW())

+0

爲什麼'OrderDate = DATE(NOW())'? – Lennart

+0

DATE(NOW())可以做到這一點,以及斯坦的。我錯過了額外的括號 – user2168066

+0

@Lennart:呃,我不知道'OrderDate'沒有時間部分。所以我保險起來,以防萬一。 – sstan

0

你可以做

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