Синтаксическая ошибка сравнения даты и времени в MySQL - PullRequest
0 голосов
/ 19 августа 2011

Я делаю систему бронирования для моей мамы, и у меня есть некоторые проблемы с блокировкой уже забронированного времени.

Вот код:

SELECT event_start
FROM annagretasjoberg
WHEREevent_start BETWEEN 2011-8-1 1:30:00 AND 2011-8-1 2:0:00

Вот ответ от сервера MySQL:

В вашем синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с '1:30:00 и 2011-8-1 2: 0: 00' в строке 1

Ответы [ 4 ]

3 голосов
/ 20 августа 2011

Дата типа должна быть заключена в кавычки :

select event_start from annagretasjoberg where event_start 
between '2011-8-1 1:30:00' and '2011-8-1 2:0:00'
2 голосов
/ 20 августа 2011

Поместите цитаты вокруг даты:

SELECT event_start
FROM annagretasjoberg
WHEREevent_start BETWEEN '2011-8-1 1:30:00' AND '2011-8-1 2:0:00'
2 голосов
/ 20 августа 2011

Вам нужно поместить даты вашего примера в одинарные кавычки, чтобы SQL мог их правильно проанализировать:

SELECT event_start
FROM annagretasjoberg
WHERE event_start BETWEEN event_start between '2011-8-1 1:30:00' and '2011-8-1 2:0:00'
0 голосов
/ 20 августа 2011

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

select event_start from annagretasjoberg where event_start between '2011-8-1 1:30:00' and '2011-8-1 2:0:00'

. Я также рекомендовал бы использовать параметризованные запросы.

...