在Oracle中将VARCHAR2转换为TIMESTAMP

Bat*_*ana 7 oracle plsql oracle10g oracle11g

我有一个格式为'14 -SEP-11 12.33.48.537150 AM'的VARCHAR2值,我需要将其转换为TIMESTAMP.就像,

SELECT TO_DATE('14-SEP-11 12.33.48.537150 AM', '<format_string>') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

我想以TIMESTAMP数据格式从上面的查询返回'14 -SEP-11 12.33.48.537150 AM'.

什么应该是'format_string'为此.

请帮助,因为我尝试了很多东西但没有工作.. :(

我使用的是Oracle 11gR2.

谢谢.

APC*_*APC 11

DATE和TIMESTAMP是两种不同的数据类型.所以你需要为每个使用正确的转换函数,在你的情况下将是TO_TIMESTAMP().

SELECT TO_TIMESTAMP('14-SEP-11 12.33.48.537150 AM', 'DD-MON-RR HH:MI:SS.FF AM') 
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)