Java中的时间戳和我的Sql中的时间戳

时间:2013-10-28 10:27:02

标签: java mysql sql grails groovy

我在Grails和MySql中遇到Timestamp数据类型的小问题。

我正在尝试在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时间戳中导致“ 2013-10-28 15:27:20.394 ”格式。 在Sql时间戳中预期“ 10/28/2013 15:27:20.PM ”格式。

我使用了SimpleDateFormat但它返回了我不想要的字符串。即使将生成的字符串解析为Timestamp,也会返回相同的格式。

任何人都可以分享你的想法。

1 个答案:

答案 0 :(得分:0)

您可以尝试在插入之前将sysdate转换为mysql格式。 您可以尝试将“sysdate”替换为“str_to_date(sysdate,'%y-%m-%d')”,然后尝试