我想弄清楚如何根據當前日期選擇結果。該腳本將每天運行,但我不確定如何自動執行此操作。根據當前日期查詢結果
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
什麼我想現在
SELECT * FROM Orders WHERE OrderDate=NOW() - INTERVAL 1 DAY
我想弄清楚如何根據當前日期選擇結果。該腳本將每天運行,但我不確定如何自動執行此操作。根據當前日期查詢結果
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
什麼我想現在
SELECT * FROM Orders WHERE OrderDate=NOW() - INTERVAL 1 DAY
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())
。
爲什麼'OrderDate = DATE(NOW())'? – Lennart
DATE(NOW())可以做到這一點,以及斯坦的。我錯過了額外的括號 – user2168066
@Lennart:呃,我不知道'OrderDate'沒有時間部分。所以我保險起來,以防萬一。 – sstan
你可以做
SELECT * FROM Orders WHERE (OrderDate > DATE_SUB(NOW(),INTERVAL 1 DAY))
哪個數據庫是這樣嗎? – sstan
對不起,我把它添加到帖子中。 MySQL – user2168066
不,不要那樣做。改爲添加標籤。 –