2017-02-06 11 views
0

の範囲から行を見つけるには、日付my_dateが範囲(列DATE_FROMと列DATE_TO)からのIDを選択するためのSQLを記述する方法SQL:日付

id name date_from date_to 
1  one  2015-01-01 2016-12-31 
2  two  2017-01-01 2017-02-01 
3  three 2017-05-01 2017-06-14 

SELECT id FROM table WHERE my_date BETWEEN date_from AND date_to 

を持つテーブルがあります。たとえば、my_date = '2017-01-15'の場合、結果は2

+4

あなたの現在のクエリが既にそれを行うべきである私の知る限り。あなたはどんな出力を得ていますか? –

+0

'date_from'列と' date_to'列はどのような型かを尋ねますが、テキストであっても依然としてクエリは機能しています。 –

+0

@TimBiegeleisen date_fromとdate_toは 'DATE'タイプです –

答えて

0

です。質問が一般的にうまくいくはずです。ここで

だけの証拠である:

http://sqlfiddle.com/#!9/6e13ec/1

SELECT id 
FROM `table` 
WHERE STR_TO_DATE('2017-01-15','%Y-%m-%d') BETWEEN date_from AND date_to;