ADD_MONTHS関数は、日付dateに月数integerを加算した値を戻します。
ADD_MONTHS(date,integer)
ADD_MONTHSには、次のパラメータがあります。
パラメータ | 説明 |
date | dateには、日時値、または暗黙的にDATEに変換可能な任意の値を指定できます。 |
integer | integerには、整数、または暗黙的に整数に変換可能な任意の値を指定できます。 |
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.
dateがTIMESTAMP型の場合、ADD_MONTHSによりDATEデータ型が戻されます。
Command> DESCRIBE SELECT ADD_MONTHS (TIMESTAMP '2007-01-31
10:00:00', 1) FROM Dual;
Prepared Statement:
Columns:
EXP DATE NOT NULL
HRスキーマを使用してSELECT FIRST 5 Employee_id, Last_name, Hire_dateを実行します。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.