1

TimestampGrails と MySql のデータ型に小さな問題があります。

Grails で「挿入」クエリを実行して、日時スタンプをテーブル (SQL DB) に挿入しようとしています。

sql.execute("insert into table_one (no, identity, user, last_updated) "
                                    + " values((select max(no)+1 from table_one),"
                                    + "'" + p.identity + "','" + p.user_id + "','" + "sysdate" + "')")

しかし、次のようなエラーがスローされます。

java.sql.SQLException: ORA-01858: a non-numeric character was found where a numeric was expected

Java Timestamp では、「2013-10-28 15:27:20.394」形式になります。Sql Timestamp では、" 10/28/2013 15:27:20.PM " 形式が期待されます。

使用SimpleDateFormatしましたが、望ましくない文字列を返します。生成された文字列を解析しても、Timestamp同じ形式が返されます。

どなたか、ご意見をお聞かせください。

4

1 に答える 1

0

挿入する前に、sysdate を mysql 形式に変換してみてください。sysdate「 」を「 」に置き換えてstr_to_date(sysdate,'%y-%m-%d')、試してみてください。

于 2013-10-28T10:35:24.770 に答える