web-dev-qa-db-ja.com

Oracle10gで文字列日付を日付形式に変換する方法

日付値はvarchar2として保存され、値は15/August/2009,4:30 PMです。これをDD-MM-YYYYなどの適切な日付形式に変換する方法。

16
leelavinodh

TO_DATE関数を使用して文字列をDATEに変換してから、TO_CHARを使用して日付を別の文字列として再フォーマットできます。

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

たとえば、テーブル名がMYTABLEであり、varchar2列がMYDATESTRINGである場合:

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

TO_DATE関数を使用する必要があります。

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
10
PenFold