我已經閱讀了幾個類似的問題,然後我可以找到幾乎與我正在使用的相同的查詢。但是,我不得不問,因爲我想知道這是爲什麼不工作:MySQL,在開始和結束日期列之間獲取數據?
,我有以下數據:
id category_id start_date end_date image campaign_id published
1 1 2011-07-05 2011-07-5 a.gif 3 1
2 1 2011-07-01 2011-07-15 c.gif 3 1
3 37 2011-07-01 2011-07-04 d.gif 3 1
我期望能獲得行1和2,從該查詢:
SELECT id, category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= NOW() AND end_date >= NOW();
從我所經歷的情況來看,唯一返回的行是第二行。而且這一次,給了我第二次,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE end_date >= NOW();
下一個返回我的所有3,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= NOW();
的數據類型爲列的日期。所以,我的問題是,如何解決這個問題?這是爲什麼發生?或者我有一個明顯的錯誤,我沒有找到要尋找的東西。
非常感謝您尋找任何形式的幫助表示感謝!
--------------編輯:求助!
太棒了!我找到了一個解決方案,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= DATE(NOW()) and end_date >= DATE(NOW());
按預期返回我的前2行!是啊! ; d
如果解決後的溶液,作爲自己的答案,並接受 –
什麼是從輸出'SELECT NOW()'?世界協調時間是UTC時間嗎? – Bohemian
@Shakti Singh,好的,我會這麼做的。 Tks – punkbit