【Oracle】日付フォーマットを変更する方法

Oracleデータベースを使用していると、日付データのフォーマットを変更する必要が頻繁に生じます。この記事では、TO_CHAR関数とTO_DATE関数を用いて、日付フォーマットを簡単に変更する方法を紹介します。

TO_CHAR関数を使って日付をフォーマットする

TO_CHAR関数は、日付型データを文字列に変換し、指定したフォーマットで出力するために使用されます。例えば、SYSDATEをYYYY-MM-DD形式に変換するには、以下のようにします。

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS formatted_date FROM dual;

このクエリを実行すると、現在の日付がYYYY-MM-DD形式で表示されます。

TO_DATE関数を使って文字列を日付に変換する

TO_DATE関数は、文字列を日付型に変換します。入力文字列が日付として正しく解釈されるように、適切なフォーマットを指定する必要があります。例えば、’2024-06-08’という文字列を日付型に変換するには、以下のようにします。

SELECT TO_DATE('2024-06-08', 'YYYY-MM-DD') AS date_value FROM dual;

このクエリを実行すると、文字列が日付型に変換されます。

日付フォーマットの指定方法

  • YYYY: 4桁の西暦
  • MM: 2桁の月
  • DD: 2桁の日
  • HH24: 24時間制の時間
  • MI: 分
  • SS: 秒

日付と時刻をフォーマットする

日付と時刻を’YYYY-MM-DD HH24:MI:SS’形式で表示する場合。

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS formatted_datetime FROM dual;

このクエリを実行すると、現在の日付と時刻がYYYY-MM-DD HH24:MI:SS形式で表示されます。

文字列を日付と時刻に変換する

文字列から日付と時刻を取得する場合。

SELECT TO_DATE('2024-06-08 15:30:00', 'YYYY-MM-DD HH24:MI:SS') AS datetime_value FROM dual;

このクエリを実行すると、文字列が日付型に変換されます。

まとめ

Oracleデータベースで日付のフォーマットを変更するには、TO_CHAR関数で日付型を文字列に変換し、指定したフォーマットで表示する方法と、TO_DATE関数で文字列を日付型に変換する方法があります。これらの関数を活用することで、柔軟に日付フォーマットを変更することができます。日付データを適切にフォーマットすることで、データの可読性と利用価値を高めることができます。