1

Timestamp我对Grails 和 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 回答