Spring JDBC-запрос МЕЖДУ ДАТОЙ из HSQLDB

Я пытаюсь запросить данные из HSQLDB 2.2.8 с помощью Spring JDBC 3.1.2.RELEASE, вот утверждение:

"SELECT id, account_id, operator_id, amount, currency_type, date
    FROM account_entries WHERE account_id=? AND date BETWEEN DATE '?' AND DATE '?' + 1 DAY"

Свойства:

1 (java.lang.Integer)
2012-09-06 (java.sql.Date)
2012-09-06 (java.sql.Date)

Ошибка, которую я получаю:

PreparedStatementCallback; SQL [SELECT id, account_id, operator_id, amount,
currency_type, date FROM account_entries WHERE account_id=?
AND date BETWEEN DATE '?' AND DATE '?' + 1 DAY]; data exception:
invalid datetime format; nested exception is java.sql.SQLDataException:
data exception: invalid datetime format

person John Smith    schedule 06.09.2012    source источник
comment
почему кавычки вокруг заполнителей для дат, это необходимо?   -  person Vikdor    schedule 06.09.2012
comment
@Vikdor: Без них я получаю еще одно исключение: PreparedStatementCallback; плохая грамматика SQL [...]; вложенным исключением является java.sql.SQLSyntaxErrorException: неожиданный токен:? требуется: И   -  person John Smith    schedule 06.09.2012


Ответы (1)


Вы должны либо отказаться от приведения даты:

... date BETWEEN ? AND ? + 1 DAY ...

или сохраните их, но передайте параметры как правильно отформатированные строки (ГГГГ-ММ-ДД) вместо объектов java.sql.Date.

person jarnbjo    schedule 06.09.2012
comment
Черт, да! Проблема была с приведением даты. - person John Smith; 06.09.2012