【发布时间】:2016-11-30 03:30:10
【问题描述】:
我正在 websphere 7.0 版本上运行一个应用程序,该应用程序是在我的 QA 环境中新设置的并且低于 oracle 错误
SELECT MODIFIED_DATE
FROM /*Query Builder Clause*/ abc
WHERE abc_CID = '1189'
AND NVL(to_date('2010-3-17 11.30.10.0', 'MM-dd-yyyy hh24:mi:ss'), SYSDATE)=decode(MODIFIED_DATE,null,SYSDATE,MODIFIED_DATE)
抛出异常
错误报告:
SQL 错误:ORA-01843:不是有效月份 01843. 00000 - “不是一个有效的月份”
此异常仅在 websphere 中弹出。此外,我无法修改代码,因为相同的代码正在现场的 websphere 上运行。我也尝试进行 websphere user.timezone 设置,我也尝试将默认 ojdbc6.jar 设置为更高版本。同样的代码在 jboss 和 weblogic 中也可以正常工作。请帮我解决这个问题。
【问题讨论】:
-
NVL(to_date('03-17-2010 11:30:10', 'MM-dd-yyyy hh24:mi:ss'),SYSDATE)
-
这是服务器生成的带有时间戳的日期格式
-
在下面查看我的答案(以获得更好的格式)
-
格式模型(TO_DATE 函数的第二个参数)需要匹配第一个参数的实际格式。 (
'2010-...'的值与格式模型'MM-...'不匹配)
标签: oracle