2011-12-03 21 views

答えて

26

あなたはその後、TO_CHAR、すなわちを使用して、別の文字列として日付を再フォーマット、TO_DATE関数を使用して文字列を日付に変換することができます:あなたのテーブル名がMYTABLEであれば、例えば、

SELECT TO_CHAR(
     TO_DATE('15/August/2009,4:30 PM' 
       ,'DD/Month/YYYY,HH:MI AM') 
     ,'DD-MM-YYYY') 
FROM DUAL; 

15-08-2009 

SELECT TO_CHAR(
     TO_DATE(MYDATESTRING 
       ,'DD/Month/YYYY,HH:MI AM') 
     ,'DD-MM-YYYY') 
FROM MYTABLE; 
+0

ありがとうございます。私はsubstring関数を使ってこの結果を得る方法をいくつか得ました。しかし、あなたの答えは私が使ったよりも簡単です。どうもありがとうございました。私のSQL文はcrm_claim_int_details_viewからのselect to_date(substr(CRM_ACC_DATE_TIME、1、instr(CRM_ACC_DATE_TIME、 '、') - 1)、 'dd-mm-yyyy'です。 – leelavinodh

+0

ええ、通常、猫の皮膚を作る方法は複数あります:) –

7

TO_DATE機能を使用する必要があります。

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL; 
+1

私は、このエラーMSG ORA-01858を取得しています:VARCHAR2列はMYDATESTRINGある数値が期待されていたところ、数値以外の文字が見つかった ORA-02063:GENCONAIMSUAから行の前にT 01858. 00000 - "数字が必要な箇所に数字以外の文字が見つかりました" *原因:日付書式モデルを使用して変換される入力データが正しくありませんでした です。入力データには、フォーマットモデルで必要とされる数字が の数字が含まれていませんでした。 *処置:入力データまたは日付書式モデルを修正して、 要素の番号と型が一致することを確認してください。次に、操作を再試行します。 – leelavinodh

関連する問題