我需要将字符串转换为oracle中的Date。
字符串的格式如下:
'08/11/1999 05:45:00 p.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 / A.M。或PM / P.M。需要......任何想法?
答案 0 :(得分:6)
试试这个:
to_date
( '08/11/1999 05:45:00 p.m.'
, 'dd/mm/yyyy hh:mi:ss a.m.'
, 'nls_date_language=american'
)
好像是“上午”。和“p.m.”而不是“am”和“pm”要求nls_date_language
设置为“美国人”。
答案 1 :(得分:1)
转换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