2014-12-02 4 views
0

Это работает ...SQL между датами Синтаксической ошибкой

select * 
from events 
where user_id = 47 
    and event_date Between #03/01/2015# And #03/31/2015# 

Но я получаю синтаксическую ошибку, когда месяц февраля или любое другое четное числа.

select * 
from events 
where user_id = 47 
    and event_date Between #02/01/2015# And #02/31/2015# 

Ошибка:

Syntax error in date in query expression 'user_id = 57 and event_date Between #02/01/2015# And #02/31/2015#

не могу за жизнь мне понять, почему ??

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

+5

В феврале было 28 дней, поэтому вы используете дату inexistent –

+0

Feb имеет 31-й? – SMA

+1

'# 03/01/2015 #' - недопустимая константа для даты в (стандартном) SQL. Какие СУБД вы используете? –

ответ

2

Вы не знаете, feb has 28 days: Используйте

select * from events 
where user_id = 47 and event_date 
Between #02/01/2015# And #02/28/2015# 

Даже если вы пробовали, по крайней мере 29 (Вы можете подумал Leap день), это приемлемо. Но как наступает 31.

+0

Да, конечно! Меня смутило! Он работал годами, но просто внезапно остановился, возможно, после сохранения в другой версии доступа. – Emma

+0

Нет, проблема. Отныне используйте 28 дней для feb. 29 дней для високосного дня. – Veera

Смежные вопросы