我正在尝试使用 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
答案 0 :(得分:2)
您必须删除日期转换:
... date BETWEEN ? AND ? + 1 DAY ...
或保留它们,但将参数作为格式正确的字符串(YYYY-MM-DD)而不是java.sql.Date对象传递。