月初日を取得する「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 | 分 |
コメント