У меня проблема с форматом временной метки Oracle 11g.
Вот что у меня есть: select to_timestamp('21-OCT-15 08.24.30.000000000 PM','DD-MON-RR HH.MI.SSXFF AM') from dual;
Ответ из базы данных: ORA-01855: AM/A.M. or PM/P.M. required
01855. 00000 - "AM/A.M. or PM/P.M. required"
Я также пытался изменить настройки сеанса с помощью нескольких команд и до сих пор ничего.
alter session set NLS_LANGUAGE='ENGLISH';
alter session set NLS_DATE_LANGUAGE='ENGLISH';
alter session set NLS_TIMESTAMP_FORMAT = 'DD-MON-RR HH.MI.SSXFF AM';
alter session set NLS_TIMESTAMP_TZ_FORMAT='DD-MON-RR HH.MI.SSXFF AM';
Я не могу изменить формат метки времени в операторе SELECT, нужно оставить как есть. Я предполагаю, что проблема в настройках сеанса.
Кто-то опытный в администрировании баз данных оракула может что-то подсказать, я попробую. Я знаю, что есть пара похожих сообщений, но я не нашел решения. Спасибо
Вот мои настройки сеанса.
select * from nls_session_parameters;
.
в качестве разделителя для компонентов времени и в качестве (по умолчанию) символа счисления. Это работает с'DD-MON-RR HH.MI.SSXFF9 AM'
?NLS_LANGUAGE
устанавливает язык сообщений об ошибках, я предполагаю, что вы имеете в видуNLS_DATE_LANGUAGE
. - person Wernfried Domscheit   schedule 21.11.2015select * from nls_session_parameters;
и вставить отформатированный результат в вопрос? У меня на 12с работает нормально. Как только вы предоставите детали, мы сравним разницу. - person Utsav   schedule 21.11.2015