2011-09-30 6 views
6

VARCHAR2の値が'14 -EP-11 12.33.48.537150 AM 'の形式であり、これをそのままTIMESTAMPに変換する必要があります。それは私が上記のクエリからのリターンは、TIMESTAMPデータ形式の'14 -sep-11 12.33.48.537150 AM」になりたい、などのVARCHAR2をOracleのTIMESTAMPに変換します

SELECT TO_DATE('14-SEP-11 12.33.48.537150 AM', '<format_string>') FROM DUAL; 

です。

これは 'format_string'にする必要があります。

私は多くのことを試みたが、どれも機能しないので助けてください.. :(

を私は、Oracle 11gR2のを使用しています。

感謝。

答えて

9

DATEおよびTIMESTAMPは、2つの異なるデータ型です。あなたがする必要があるのであなたのケースで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を指定すると、エラーが発生します。私はAM/PMとしてそれを必要とするので、それはHHでなければなりません。とにかくこれはHHで働いてくれてありがとう。 –

+0

@BathiyaPriyadarshana - おっと、習慣の力:私はいつも24時間制で働いています。 – 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 
関連する問題