Java中的时间戳和Sql中的时间戳
我对Grails和MySql中的时间戳数据类型有一个小问题 我试图在Grails中运行一个insert查询,以便在sql DB表中插入日期时间戳Java中的时间戳和Sql中的时间戳,java,mysql,sql,grails,groovy,Java,Mysql,Sql,Grails,Groovy,我对Grails和MySql中的时间戳数据类型有一个小问题 我试图在Grails中运行一个insert查询,以便在sql DB表中插入日期时间戳 sql.execute("insert into table_one (no, identity, user, last_updated) " + " values((select max(no)+1 from table_one),"
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格式
我使用了SimpleDataFormat,但它返回字符串,我不希望返回字符串。即使分析生成为时间戳的字符串也会返回相同的格式
任何人都可以分享您的想法。在插入之前,您可以尝试将sysdate转换为mysql格式吗。
您可以尝试用str_to_datesysdate、%y-%m-%d'替换您的sysdate,并尝试一下我尝试过的str_to_datesysdate、%m/%d/%y%l:%I:%s.%但它给出的错误是:消息:ORA-00911:无效字符。下面是我在编写查询时所指的链接:如果您在日期列中插入,那么为什么要考虑时间戳。实际上,我对时间戳数据类型有点混淆。当我在mySql编辑器上使用sysdate运行相同的查询时,它会插入数据Last_update,该数据在DB上声明为时间戳,如10/28/2013 15:27:20。但是当我在groovy n grails上使用相同的查询时,它抛出了一个错误。我试图通过groovy代码插入时间戳,但该格式不支持。我在groovy中使用Date来获取当前日期时间,该时间返回为2013年10月28日星期一17:08:45,并使用toTimestamp functin将其转换为时间戳,得到2013-10-28 17:08:45.439,但在java n sql中返回的时间戳与java=2013-10-28 17:08:45.43和sql=10/28/2013 17:08:45非常不同。下午。如果我遗漏了什么,请告诉我。