2016-10-21 5 views
0

Мне нужна помощь. Ниже приведены два одинаковых запроса на выбор, запускаемые Jboss и websphere, которые установлены в Linux-окне. В запросе Jboss работает нормально, но не работает в websphere. Codebase для обоих одинаковых. JbossОшибка формата даты в websphere

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 

Пожалуйста, помогите мне решить эту проблему.

+1

«2010-3-17 11.30.10.0 ==> 2010 не действительный месяц. Измените свой шаблон даты. – Unknown

+0

В обоих запросах используется тот же формат datetime '' MM-dd-yyyy hh24: mi: ss'', но ваши исходные форматы данных различны '' 12/14/2015 8: 48: 41'' и '' 2010- 3-17 11.30.10.0'' – AlexSmet

+0

Да, я использую тот же формат данных и тот же код .. только сервер отличается. В jboss: 12/14/2015 8:48:41 Но websphere он преобразуется в «2010-3-17 11.30.10.0» и исключает исключение oracle –

ответ

0

Вы должны использовать это;

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) 
+1

я не должен изменять формат даты. Query должен работать так же, как и то, как он работает в Jboss. Формат даты должен быть ММ-ДД-ГГГГ. Я попытался перейти на более высокую версию ojdbc6.jar в websphere все еще не работал для меня. Также я попытался установить формат NLS_DATE в настройке wepsphere. –