@tltary

Как работает сравнение дат в sql?

У меня есть таблица из 3 строк

Id date_in date_out
1 2016-11-14 2016-11-20
2 2016-11-21 2016-11-27
3 2016-11-28 2016-12-4

Я использую запрос в SQL
select * from table where date_in>='2016-11-22' and date_out>='2016-11-22'

и он выводит мне 3 строку, хотя должен был 2

Как правильно написать запрос что бы относительно даты и сравнение выводилась строка которая есть на этой неделе?
  • Вопрос задан
  • 30449 просмотров
Пригласить эксперта
Ответы на вопрос 1
xpert13
@xpert13
Full Stack Developer
Ну так всё правильно 2016-11-28 >= 2016-11-22 и 2016-12-04 >= 2016-11-22.

Возможно вы хотели находить дату между date_in и date_out. Тогда вам во втором условии нужно изменить знак на <= или, лучше, использовать оператор BETWEEN:
SELECT * FROM `table` WHERE '2016-11-22' BETWEEN `date_in` AND `date_out`
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы