Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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 Oracle日期文字[DD-MON-RR HH.MI.SSXFF AM]_Java_Oracle_Date_Timestamp_Nls - Fatal编程技术网

Java Oracle日期文字[DD-MON-RR HH.MI.SSXFF AM]

Java Oracle日期文字[DD-MON-RR HH.MI.SSXFF AM],java,oracle,date,timestamp,nls,Java,Oracle,Date,Timestamp,Nls,我正在尝试使用时间戳格式[DD-MON-RR HH.MI.SSXFF AM]插入我的日期 我不能以任何可能的方式修改数据库设置,我必须通过JAVA的字符串格式插入日期(我也不能修改定义它的类) 话虽如此,我需要逐条字符串地重新构造格式,而不需要调整其他类/db 日期的nls设置为DD-MON-RR。2012年6月12日和2012年6月12日效果非常好 但我发现很难重新创建日期的时间戳部分 下面列出了我尝试过的几种格式 '12-JAN-12' < success '12/JAN/2012'

我正在尝试使用时间戳格式[DD-MON-RR HH.MI.SSXFF AM]插入我的日期

我不能以任何可能的方式修改数据库设置,我必须通过JAVA的字符串格式插入日期(我也不能修改定义它的类)

话虽如此,我需要逐条字符串地重新构造格式,而不需要调整其他类/db

日期的nls设置为DD-MON-RR。2012年6月12日和2012年6月12日效果非常好

但我发现很难重新创建日期的时间戳部分

下面列出了我尝试过的几种格式

'12-JAN-12' < success
'12/JAN/2012' < success
'12/JAN/2012 10.30.25.000 AM < failed
'12/JAN/2012 10:30:25.000 AM < failed

经过几次推理,高年级学生同意修改模型类。现在一切都好了。感谢您的帮助和建议。

由于您必须向数据库发送字符串,因此必须依赖oracle数据库到日期类型的隐式转换。
由于您无法更改数据库设置,因此我只能建议您更改会话设置。
因此,如果可以对DB运行命令,请尝试:

Statement st = conn.createStatement();
st.execute("alter session set NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss'");    

(或其他格式(不建议在您的格式中使用
mon
,因为它可能也涉及
NLS_TERRITORY

数据库中的字段类型是什么?它是
日期
还是
时间戳
?它设置在
日期
,但可用数据似乎在
DD-MM-YYYY HH:Mi:ss AM
(例如:
1/4/2010 4:52:46 PM
)oracle中的日期也包含时间,但只包含秒(无毫秒)。您尝试的格式需要时间戳数据类型我已尝试通过SQL
12/JAN/2012 12:35:00 AM
插入此格式。也不管用。此错误
ORA-01830:日期格式图片在转换整个输入字符串之前结束。如果可以使用sql,为什么不将
转换为日期('12/01/2012 12:35:00','dd/mm/yyyy hh:mi:ss AM')
?不是依赖NLS_DATE_格式,顺便说一句,你能把它展示给我们吗
Statement st = conn.createStatement();
st.execute("alter session set NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss'");