Oracle TRUNCとADD_MONTHS関数を使って来月1日や先月1日の日付を取得する

環境
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
SQL*Plus: Release 12.2.0.1.0

書式
TRUNC(date, format)
date 基準となる日時(DATE型)を指定する。
format 切り捨てる時間の要素を指定する。
format 説明
YYYY 年
MM    月
DD   日(デフォルト)
HH   時
MI   分

使用例
1.今月1日の日付を取得
SQL構文

SELECT TRUNC(SYSDATE, 'MM') AS 今月1日 FROM DUAL;

結果 2023/02/01 0:00:00

2.来月1日の日付を取得する
SQL構文

SELECT TRUNC(ADD_MONTHS(SYSDATE, 1), 'MM') AS 来月1日 FROM DUAL;

結果 2023/03/01 0:00:00

3.先月1日の日付を取得する
SQL構文

SELECT TRUNC(ADD_MONTHS(SYSDATE, -1), 'MM') AS 先月1日 FROM DUAL;

結果 2023/01/01 0:00:00

Oracle 12c

Posted by arkgame