У меня проблема с форматом timestamp Oracle 11g.Формат временной шкалы Oracle «DD-MON-RR HH.MI.SSXFF AM»
Это то, что у меня есть: 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';
Я не могу изменить формат timestamp в инструкции SELECT, необходимо оставаться таким, какой он есть. Я думаю, проблема в настройках сеанса.
Кто-то, кто имеет дело с администрированием базы данных оракула, может что-то предложить, попробую. Я знаю, что есть несколько подобных сообщений, но я не нашел решения. Спасибо
Вот мои настройки сеанса.
select * from nls_session_parameters;
Возможно, проблема заключается в том, что вы используете период '.' в качестве разделителя для компонентов времени и как (по умолчанию) символ счисления. Работает ли он с «DD-MON-RR HH.MI.SSXFF9 AM''? 'NLS_LANGUAGE' устанавливает язык сообщений об ошибках, я предполагаю, что вы имеете в виду' NLS_DATE_LANGUAGE'. –
@WernfriedDomscheit Я тоже попробовал изменить NLS_DATE_LANGUAGE и по-прежнему та же проблема. Также с вашим предложением изменение NLS_TIMESTAMP_FORMAT не работает. – Josip
вы можете запустить 'select * from nls_session_parameters;' и вставить отформатированный результат в вопрос? Он отлично работает для меня в 12c. Как только вы дадите детали, мы сравним разницу. – Utsav