2011-09-30 119 views
6

我有一個格式爲'14 -SEP-11 12.33.48.537150 AM'的VARCHAR2值,我需要按原樣將它轉換爲TIMESTAMP。就是喜歡,將VARCHAR2轉換爲Oracle中的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的。

感謝。

回答

9

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

如果我們指定HH24,它會給出錯誤。它必須是HH,因爲我需要它作爲AM/PM。無論如何,謝謝這與HH合作。 –

+0

@BathiyaPriyadarshana - 哎呀,習慣的力量:我總是用二十四小時的時鐘工作。 – APC

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 
相關問題