ADD_MONTHS

ADD_MONTHS関数は、dateintegerの月数を加算した日付を返します。

SQL構文

ADD_MONTHS(Date,Integer)

パラメータ

ADD_MONTHSには、次のパラメータがあります。

パラメータ 説明

Date

日時値、または日時値に変換可能な任意の値。

Integer

整数値、または整数値に変換可能な値。

説明

  • 戻り型は、dateのデータ型にかかわらず常にDATEです。サポートされるデータ型は、DATETIMESTAMPORA_TIMESTAMPおよびORA_DATEです。

  • データ型TIMETT_TIMETT_DATEおよびTT_TIMESTAMPはサポートされていません。

  • dateが月の最終日の場合や、結果の月の日数がdateの日付部分より少ない場合は、結果の月の最終日が戻されます。それ以外の場合は、dateと同じ日付部分が結果として戻されます。

ADD_MONTHS関数をコールして、2007年1月31日という日付に1か月を加算します。2月の最終日が戻されます。

Command> SELECT ADD_MONTHS (DATE '2007-01-31', 1) FROM dual;
< 2007-02-28 00:00:00 >
1 row found.

dateTIMESTAMP型の場合、ADD_MONTHSDATEデータ型を戻します。

Command> DESCRIBE SELECT ADD_MONTHS (TIMESTAMP '2007-01-31 10:00:00', 1) 
         FROM dual;
Prepared Statement:
  Columns:
    EXP                             DATE NOT NULL

HRスキーマを使用して、employee_idlast_nameおよびhire_dateを表示する、employees表の先頭の5行を選択します。CREATE TABLE ... AS SELECT文を使用して新しい表temp_hire_dateを作成します。ADD_MONTHSをコールして元のhire_dateに23か月を加算します。

Command> SELECT FIRST 5 employee_id, last_name, hire_date FROM employees;
< 100, King, 1987-06-17 00:00:00 >
< 101, Kochhar, 1989-09-21 00:00:00 >
< 102, De Haan, 1993-01-13 00:00:00 >
< 103, Hunold, 1990-01-03 00:00:00 >
< 104, Ernst, 1991-05-21 00:00:00 >
5 rows found.
Command> CREATE TABLE temp_hire_date (employee_id, last_name,
           hire_date) AS SELECT FIRST 5 employee_id, last_name,
        ADD_MONTHS (hire_date, 23) FROM employees;
5 rows inserted.
Command> SELECT * FROM temp_hire_date;
< 100, King, 1989-05-17 00:00:00 >
< 101, Kochhar, 1991-08-21 00:00:00 >
< 102, De Haan, 1994-12-13 00:00:00 >
< 103, Hunold, 1991-12-03 00:00:00 >
< 104, Ernst, 1993-04-21 00:00:00 >
5 rows found.