Oracle на сегодняшний день с PM/a. m



Мне нужно преобразовать строку в дату в oracle.



Формат строки выглядит следующим образом:



'08/11/1999 05:45:00 p.m.'


Но последняя позиция может изменить p. m или A. M.
Я попытался сделать что-то вроде:



to_date('08/11/1999 05:45:00 p.m.', 'dd/mm/yyyy hh:mi:ss a.m./p.m.')

to_date('08/11/1999 05:45:00 p.m.', 'dd/mm/yyyy hh:mi:ss am/pm')


Но верните мне ошибку ORA-01855: AM/Am или PM/PM требуется... есть идеи ?

458   2  

2 ответов:

Попробуйте это:

to_date
  ( '08/11/1999 05:45:00 p.m.'
  , 'dd/mm/yyyy hh:mi:ss a.m.'
  , 'nls_date_language=american'
  )

Похоже, что "AM" и "PM", а не "am" и "pm" требуют, чтобы nls_date_language было установлено на "american".

Чтобы преобразовать время для am и pm, Просто дайте a.m. как показано ниже

to_date(UPPER('08/11/1999 05:45:00 p.m.'),'dd/mm/yyyy hh:mi:ss a.m.')

Надеюсь, это поможет. пожалуйста, обратитесь https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions183.htm

Comments

    Ничего не найдено.