Oracle 月初日を取得する 「TRUNC」関数

スポンサーリンク

月初日を取得する「TRUNC」関数の使い方

「TRUNC」関数を使うことによって、月初日を取得する事ができます。「format」で指定した時間要素より下を切り捨てします。

「TRUNC」関数の構文

以下が、「TRUNC」の基本的な構文です。

TRUNC( date , format )
引数説明
date日付式を指定します。
指定する型はdata型です。
format日付フォーマット。

「TRUNC」関数の実行例

SQL> SELECT SYSDATE FROM dual;

SYSDATE
-------------------
2019/09/28 05:44:09

SQL> SELECT TRUNC( SYSDATE , 'MONTH' ) as 月初日 FROM dual;

月初日
--------
19-09-01

SQL*Plusの日付フォーマットがデフォルトのままなので「RR-MM-DD」形式です。
「MONTH」で切り捨てする日付フォーマットを指定しているので「MONTH」より下の時間要素が切り捨てされています。わかりやすくするため「YYYY/MM/DD HH24:MI:SS」に日付フォーマットを変換して実行してみましょう。

SQL> alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';

セッションが変更されました。

SQL> SELECT TRUNC( SYSDATE , 'MONTH' ) as 月初日 FROM dual;

月初日
-------------------
2019/09/01 00:00:00

ちゃんと取得できてますね。日時分秒の戻り値が切り捨てられてることがわかりますね!

日付フォーマット(format)の種類

日付フォーマット(format)説明
CC西暦
YYYY
MM
DAY
DD日(デフォルト)
HH
MI

コメント

タイトルとURLをコピーしました