Spring JDBC查询来自HSQLDB的BETWEEN DATE

时间:2012-09-06 16:10:53

标签: java spring spring-mvc hsqldb spring-jdbc

我正在尝试使用 Spring JDBC 3.1.2.RELEASE HSQLDB 2.2.8 查询数据,这是声明:

"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

1 个答案:

答案 0 :(得分:2)

您必须删除日期转换:

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

或保留它们,但将参数作为格式正确的字符串(YYYY-MM-DD)而不是java.sql.Date对象传递。