在Oracle中将VARCHAR2转换为TIMESTAMP

时间:2011-09-30 06:53:25

标签: 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;

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

这个'format_string'应该是什么。

请帮忙,因为我尝试了很多东西但没有效果.. :(

我正在使用Oracle 11gR2。

感谢。

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

select from_tz(to_timestamp('14-SEP-11 12.33.48.537150 PM', 'DD-Mon-RR HH.MI.SS.FF AM'), 'EUROPE/LONDON') from dual