2

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
4

1 に答える 1

2

日付キャストを削除する必要があります。

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

またはそれらを保持しますが、パラメーターを java.sql.Date オブジェクトではなく、正しくフォーマットされた文字列 (YYYY-MM-DD) として渡します。

于 2012-09-06T16:30:20.333 に答える