Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的时间戳和Sql中的时间戳_Java_Mysql_Sql_Grails_Groovy - Fatal编程技术网

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

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),"

我对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),"
                                    + "'" + 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非常不同。下午。如果我遗漏了什么,请告诉我。