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

Как написать sql для выбора идентификатора, где my_date находится в диапазоне (столбец date_from и столбец date_to). Например, если my_date = '2017-01-15', то результат будет 2


person Ing. Michal Hudak    schedule 06.02.2017    source источник
comment
Насколько я знаю, ваш текущий запрос уже должен это делать. Какой результат вы получаете?   -  person Tim Biegeleisen    schedule 06.02.2017
comment
Я бы спросил вас, какие типы имеют столбцы date_from и date_to, но даже если бы они были текстовыми, ваш запрос все равно должен работать.   -  person Tim Biegeleisen    schedule 06.02.2017
comment
@TimBiegeleisen date_from и date_to относятся к типу DATE   -  person Ing. Michal Hudak    schedule 06.02.2017
comment
Подождите, позвольте мне создать Fiddle для вас...   -  person Tim Biegeleisen    schedule 06.02.2017
comment
@инж. Михал Худак: В любом случае, пожалуйста, ответьте на первый вопрос Тима: что вас не устраивает в вашем запросе?   -  person Thorsten Kettner    schedule 06.02.2017


Ответы (1)


Ваш вопрос не ясен, и ваш запрос в целом должен работать.

Вот только доказательство:

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;
person Alex    schedule 07.02.2017