【问题标题】:Date format issue causing in websphere在 websphere 中导致的日期格式问题
【发布时间】:2016-10-21 05:13:46
【问题描述】:

我需要帮助。下面是 2 个运行 Jboss 和 websphere 的相同选择查询,它们安装在 linux 框中。在 Jboss 中查询工作正常,但在 websphere 中失败。两者的代码库是相同的。 Jboss

SELECT MODIFIED_DATE FROM /*Query Builder Clause*/ ACA_RULE WHERE  ACA_RULE_CID = '1455' AND NVL(to_date('**12/14/2015 8:48:41**', 'MM-dd-yyyy hh24:mi:ss'), SYSDATE)=decode(MODIFIED_DATE,null,SYSDATE,MODIFIED_DATE)

Websphere

SELECT MODIFIED_DATE FROM /*Query Builder Clause*/ ACA_RULE WHERE  ACA_RULE_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)

因此抛出

java.sql.SQLDataException: ORA-01843: not a valid month

请帮我解决这个问题。

【问题讨论】:

  • '2010-3-17 11.30.10.0 ==> 2010 年不是有效月份。更改您的日期模式。
  • 您在两个查询中使用相同的日期时间格式'MM-dd-yyyy hh24:mi:ss',但您的源数据格式不同'12/14/2015 8:48:41''2010-3-17 11.30.10.0'
  • 是的,我使用相同的数据格式和相同的代码。只有服务器不同。在 jboss 中:12/14/2015 8:48:41 但是 websphere 它被转换为 '2010-3-17 11.30.10.0' 并抛出 oracle 异常
  • to_date('**12/14/2015 8:48:41**', 'MM-dd-yyyy hh24:mi:ss')to_date(**'2010-3-17 11.30.10.0'**, 'MM-dd-yyyy hh24:mi:ss') 一样吗?
  • 您的问题是否组织不正确?我认为其他 cmets 指出您在“Jboss”和“Webshere”标题下显示了两个不同的查询。你是说这两个查询实际上都在 Jboss 上工作并且都在 WebSphere 上给出错误?如果是这样,你应该改写问题。

标签: java linux oracle jboss websphere


【解决方案1】:

你应该这样使用;

Websphere

SELECT MODIFIED_DATE FROM /*Query Builder Clause*/ ACA_RULE WHERE  ACA_RULE_CID = '1189' AND NVL(to_date(**'2010-3-17 11.30.10'**, 'yyyy-MM-dd hh24:mi:ss'), SYSDATE)=decode(MODIFIED_DATE,null,SYSDATE,MODIFIED_DATE)

【讨论】:

  • 我不应该修改日期格式。查询的工作方式应该与它在 Jboss 中的工作方式相同。日期格式应为 MM-DD-YYYY。我尝试在 websphere 中升级到更高版本的 ojdbc6.jar 仍然没有为我工作。我还尝试在 wepsphere 设置中设置 NLS_DATE 格式。
猜你喜欢
  • 1970-01-01
  • 2011-09-20
  • 2021-10-08
  • 2012-10-23
  • 2013-06-25
相关资源
最近更新 更多