Oracle Databaseでは、LAST_DAY()
を使用できます。 特定の月の最終日を返す関数。これは、当月の最終日または指定された日付に基づく月の最終日になります。
例
SELECT LAST_DAY(date '2035-02-15')
FROM DUAL;
結果:
28-FEB-35
月の最終日は、セッションパラメータNLS_CALENDAR
によって定義されます。 。セッションで使用されているカレンダーを確認するには、「NLSパラメーターの値を確認する方法」を参照してください。鉱山はグレゴリオ暦を使用しています。
日付を1年前倒しすると、次のようになります。
SELECT LAST_DAY(date '2036-02-15')
FROM DUAL;
結果:
29-FEB-36
翌年はうるう年なので、その年の2月は29日です。
LAST_DAY()
に注意してください 関数はDATE
を返します 価値。これは、TIMESTAMP
を渡した場合でも当てはまります。 値:
SELECT LAST_DAY(TIMESTAMP '2036-07-15 15:30:45.12345')
FROM DUAL;
結果:
31-JUL-36
今月
この例では、当月の最終日を取得します:
SELECT
SYSDATE,
LAST_DAY(SYSDATE)
FROM DUAL;
結果:
SYSDATE | LAST_DAY(SYSDATE) |
---|---|
12-APR-22 | 30-APR-22 |
この場合、SYSDATE
を使用しました 現在の日付。
来月
ADD_MONTHS()
を使用できます 現在の日付に1か月以上を追加する関数:
SELECT
SYSDATE,
LAST_DAY(ADD_MONTHS(SYSDATE, 1))
FROM DUAL;
結果:
SYSDATE | LAST_DAY(ADD_MONTHS(SYSDATE、1)) |
---|---|
12-APR-22 | 22年5月31日 |
この場合、来月の最終日を取得しました。
先月
負の値を追加して、前月の最終日を取得できます:
SELECT
SYSDATE,
LAST_DAY(ADD_MONTHS(SYSDATE, -1))
FROM DUAL;
結果:
SYSDATE | LAST_DAY(ADD_MONTHS(SYSDATE、-1)) |
---|---|
12-APR-22 | 31-MAR-22 |