このチュートリアルでは、Oracle の current_date 関数を使用して、時間なしで現在の日付を取得する簡単な方法を提供します。
Oracle CURRENT_DATE関数
名前が示すように、この関数は現在のセッションで指定されたタイムゾーンを使用して現在の日付を返します。
この関数は、日付型が DATE のグレゴリオ暦の日付値を返します。構文は次のとおりです。
現在の日付;
これは比較的単純な関数ですが、データベースで大量の計算を節約できます。
日付値を列にすばやく挿入できるため、データベースで挿入、更新、または削除コマンドが発生したときにログを記録できます。
日付の値は、現在のセッションで設定されているタイムゾーンによって管理されます。 Oracle では、セッションのタイムゾーン値は TIME_ZONE パラメータによって定義されます。この値を変更して、セッションのタイムゾーンを変更できます。
機能の使用例
この関数は単純で理解しやすいものですが、関数がどのように機能するかを示す例をいくつか示します。
SELECT CURRENT_DATE FROM dual;
上記のクエリは、選択したタイムゾーンに基づいて現在の日付を次のように返す必要があります。
現在の日付|------------+
2023-01-01|
日付値のフォーマット
current_date 関数の値を char 関数に渡して、目的の形式にフォーマットできます。
例を次に示します。
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-YYYY') AS D FROM dual;この場合、to_char() 関数は、現在の日付を次のように DD-MM-YYYY 形式に変換します。
D |----------+
2023 年 1 月 1 日|
日付を長い形式に変換するには:
D |--------------------------+
2023 年 1 月 1 日日曜日|
サポートされているその他の日付形式は次のとおりです。
Oracle 変更セッションのタイムゾーン
現在のセッションに別のタイムゾーンを設定するには、以下に示すように ALTER SESSION SET コマンドを使用します。
ALTER SESSION SET time_zone = '-5:0';ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
次に、選択したタイムゾーンの現在の日付を次のように選択できます。
SELECT CURRENT_DATE FROM dual;出力:
現在の日付|------------+
2022-12-31|
結論
このガイドを使用して、Oracle で current_date 関数を使用して、現在のセッションのタイムゾーンから現在の日付をすばやく取得する方法を学びました。