0
我試圖使用curdate()檢索我的數據庫中的條目,我認爲有一些我不知道的底層邏輯。例如:curdate()如何在MySQL中進行比較
SELECT * FROM foo WHERE event='bar'
AND created_at >= SUBDATE(CURDATE(), 90)
AND created_at <= CURDATE()
此調用返回前90天,但它沒有任何今天的條目。據我所知,curdate()只有YYYY-MM-DD或YYYYMMDD,完全忽略了一天中的時間,我們將它保存爲curtime()和now()。我懷疑時間正在被包含在這裏的某處,因爲當我在Rails中進行類似的調用並將日期作爲DateTime.beginning_of_day傳遞時,它可以工作,而任何其他方式在今天不會包含某個小時。
我已經檢出了一些源代碼,包括MySQL參考手冊,並沒有提出任何真正的答案。當前時間的某些元素是否可能包含在查詢中,或者是否有其他業務正在關閉?
1:有疑問時,檢查列的數據類型 - MySQL有DATE和DATETIME。 – 2011-01-31 19:00:28