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 Studioに寄せられたOracle利用者の声
私の業務では、MSSQL/Mariadb/Oracle/Postgresやsqliteを使ったレガシーコードから新規コードまですべてを担当しています。必要なものがすべて1つにまとまったツールをようやく見つけられたと思います
Beekeeper Studioの一番の魅力は、すっきりしたインターフェースとデータの見やすさです。私が知る限り最高のツールです。エンジニアとしてPostgres、MySQL、SQLite、Oracle、MS SQLを使っていますが、Beekeeperはとてもスムーズでゆとりのある、自然で直感的なインターフェースでそのすべてをこなしてくれます。Beekeeper Studioを候補に入れれば、きっと手放せないツールになるはずです。