🧚 お知らせ!Beekeeper Studioは高速でモダンなオープンソースのOracle GUIです ダウンロード
2024年1月13日 著者: Matthew Rathbone

Oracle Databaseで日付をフォーマットしようとして、イライラした経験はありませんか?よくあるつまずきポイントです。でも心配はいりません。このガイドを読めばすっきり解決します。

OracleのDATEデータ型の概要

フォーマットを始める前に、OracleのDATEデータ型を理解しておくことが大切です。DATEデータ型は、特定の時点の日付と時刻を格納するために使われます。一部のデータベース(MySQL、あなたのことです)とは異なり、OracleのDATEデータ型には日付とともに時刻の情報も含まれます。

DATEデータ型の格納形式は開発者から直接見えませんが、OracleにはTO_CHARという関数が用意されており、日付を読みやすい形式で表示できます。

SELECT TO_CHAR(sysdate, 'DD/MM/YYYY HH24:MI:SS') "Current Date" FROM dual; 

このSQLクエリは、現在のシステム日時を‘DD/MM/YYYY HH24:MI:SS’形式で返します。

Oracleの日付フォーマットコードを理解する

Oracleの日付フォーマットの真価は、利用できるさまざまなフォーマットコードにあります。‘DD’、‘MM’、‘YYYY’、‘HH24’、‘MI’、‘SS’はすでに実際に見てきました。以下は、その他の便利なフォーマットコードの一覧です。

  • DD: 日(1-31)
  • MM: 月(01-12。1月は01)
  • YYYY: 4桁の年
  • YY: 年の下2桁
  • HH24: 時(00-23)
  • MI: 分(00-59)
  • SS: 秒(00-59)

これらのコードを組み合わせることで、日付をさまざまな形式でフォーマットできます。たとえば、‘月 日, 年’の形式で日付を表示したい場合は、次のコマンドを使います。

SELECT TO_CHAR(sysdate, 'MM DD, YYYY') "Current Date" FROM dual; -- 01 22, 1983

TO_DATEを使ったフォーマット

逆に、日付を表す文字列をDATEデータ型に変換したい場合は、TO_DATE関数を使います。

SELECT TO_DATE('2021/07/16', 'YYYY/MM/DD') "Formatted Date" FROM dual;

これは‘16-JULY-21’という結果を返します。これがOracle DATEのデフォルト形式です。TO_DATE関数では入力文字列のフォーマットを指定できるため、OracleはそれをDATEデータ型に正確に変換できます。

別の形式で日付をフォーマットする

Oracleの日付フォーマットは、英語やグレゴリオ暦に限定されません。異なる日付言語や日付地域を使って日付をフォーマットすることもできます。

SELECT TO_CHAR(sysdate, 'MONTH DD, YYYY', 'NLS_DATE_LANGUAGE = German') "Current Date" FROM dual;

このコードは、現在の日付をドイツ語の命名規則でフォーマットします。

日付のフォーマット方法を理解することはデータベースを扱ううえで重要であり、Oracle Databaseにはこの作業をマスターするための多彩なツールが揃っています。さまざまな日付フォーマットコードを恐れずに試して、その仕組みへの理解を深め、SQLのスキルを磨いてください。

以上です!これで、Oracle Databaseで日付をフォーマットする方法をしっかり理解できたはずです。TO_CHAR関数とTO_DATE関数は、Oracleのさまざまな日付フォーマットコードの理解と組み合わせることで、日付を扱うための強力なツールセットになります。楽しいクエリライフを!

Beekeeper Studioは無料のオープンソースOracle GUIです

私の業務では、MSSQL/MariaDB/Oracle/PostgresやSQLiteを使ったレガシーコードから新規コードまですべてを担当しています。必要なものがすべて1つにまとまったツールをようやく見つけられたと思います。 - Chris Pink

Beekeeper Studioは高速で直感的、使いやすいOracleクライアントです。他の多くのデータベースにも対応しており、Windows、Mac、Linuxで快適に動作します。

BeekeeperのLinux版は100%フル機能。手抜きも機能の妥協も一切ありません。

Beekeeper Studioに寄せられたOracle利用者の声

Chris Pink MD BhebeConsulting.co.uk

私の業務では、MSSQL/Mariadb/Oracle/Postgresやsqliteを使ったレガシーコードから新規コードまですべてを担当しています。必要なものがすべて1つにまとまったツールをようやく見つけられたと思います

Neil Gulati 契約業務

Beekeeper Studioの一番の魅力は、すっきりしたインターフェースとデータの見やすさです。私が知る限り最高のツールです。エンジニアとしてPostgres、MySQL、SQLite、Oracle、MS SQLを使っていますが、Beekeeperはとてもスムーズでゆとりのある、自然で直感的なインターフェースでそのすべてをこなしてくれます。Beekeeper Studioを候補に入れれば、きっと手放せないツールになるはずです。