私はいくつかの類似の質問を読んだことがあります。ここで私が使用しているクエービーはほぼ同じです。しかし、私はこれが動作しない理由を理解したいと思いますので、お願いしました:MySQL、開始日と終了日の間のデータを取得しますか?
I持って、次のデータ:私はこのクエリから、行1および2を得ることを期待
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
:
SELECT id, category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= NOW() AND end_date >= NOW();
私が経験したことから、返される行は2番目の行だけです。また、この1、私の第二を与え、
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();
両方の列のデータ型を私に返しDATEです。だから、私の質問は、これを解決する方法ですか?なぜこうなった ?または、私は何を探すべきか分かっていないという明らかな誤りがあります。
ありがとうございました。どんな種類のお探しですか?ありがとうございます。
-------------- EDIT:SOLVED!
素晴らしい!私は解決策を見つけました。
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= DATE(NOW()) and end_date >= DATE(NOW());
期待通りに最初の2行を返します!うん!! ; D
の使用
CUR_DATE()
にそれが解決されている場合は、あなた自身の答えのような溶液を投稿し –が '' NOW SELECT()からの出力は何であると?受け入れますかいつかUTC時間ですか? – Bohemian
@ Shakti Singh、ok、そうします。 Tks – punkbit