Как сравнить время между полями от и до времени в MySQL? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть простая таблица mysql с 2-мя временными полями, т.е. от и до.

У меня есть 2 записи, то есть:

  from   |    to 
07:00:00 | 17:59:59 
18:00:00 | 06:59:59

Если я сделаю следующий запрос:

SELECT * FROM prices WHERE '11:06' BETWEEN pric_from AND pric_to LIMIT 1

Приведенный выше запрос возвращает правильную запись.

Но если я выполню следующий запрос:

SELECT * FROM prices WHERE '18:30' BETWEEN pric_from AND pric_to LIMIT 1

Это ничего не возвращает, где, как это должно вернуть вторую запись.

Кто-нибудь может мне помочь?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

@ fa06 упомянул, что

BETWEEN [value] and [larger value]

Я думаю, что вы хотели использовать значения DateTime вместо просто date. тогда ваше «для оценки» будет на следующий день и, следовательно, больше, чем для «от стоимости».

0 голосов
/ 18 сентября 2018

Я повторил, что мне нужна еще одна запись и немного изменить другую, так что в итоге я закончил так:

from |до 07:00:00 |17:59:59 18:00:00 |11:59:59 00:00:00 |06: 59: 59

Это помогло.

Спасибо.

0 голосов
/ 17 сентября 2018

Для использования между ними необходимо указать диапазон в порядке, например, сначала маленький, а затем большее значение

SELECT * FROM prices WHERE '18:30' BETWEEN  pric_to AND pric_from LIMIT 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...