Задать вопрос
@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

Как правильно написать запрос что бы относительно даты и сравнение выводилась строка которая есть на этой неделе?
  • Вопрос задан
  • 31912 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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`
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы