Как сделать запрос между датой и конкретным временным диапазоном - PullRequest
0 голосов
/ 15 апреля 2019

Мне нужна помощь по запросу между датой и конкретным временным диапазоном. Например, пользователь входит в здание с 1 Jan 2019 до 1 April 2019 и только с 7 вечера до 10 вечера на эту дату.

база данных хранится EVENTDATE как 01.01.2019, 07: 15: 01.000

Я пробовал в день и работает

SELECT *
FROM event
WHERE eventdate BETWEEN '01.01.2019, 19:00:00' AND '01.01.2019, 22:00:00'

пробовал по диапазону дат и не работает

SELECT *
FROM event
WHERE eventdate BETWEEN '01.01.2019' AND '01.02.2019'
  AND eventdate BETWEEN '19:00:00.000' AND '22:00:00.000'

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Вы можете сначала преобразовать дату во время перед добавлением условия.

SELECT *
FROM event
WHERE eventdate BETWEEN '01.01.2019' AND '01.02.2019'
  AND time(eventdate) BETWEEN '19:00:00.000' AND '22:00:00.000'
0 голосов
/ 15 апреля 2019

Я подозреваю, что вам просто нужно использовать правильные форматы для значений даты / времени:

SELECT e.*
FROM event e
WHERE e.eventdate BETWEEN '2019-01-01 19:00:00' AND '2019-01-01 22:00:00'
...