%MONTHS(number)
%MONTHS は、数を、日付またはタイム・スタンプ値に加算することができる期間に変換します。
%MONTHS は加算命令または減算命令の右側の値にしかなれません。左側の値は日付またはタイム・スタンプでなければなりません。 結果は、加算または減算がされた適切な月数を持つ、日付またはタイム・スタンプの値になります。 日付の場合、結果の値は *ISO 形式になります。
ほとんどの場合、所与の月の数値を加算したり減算したりした結果は明白です。例えば、2000-03-15 + %MONTHS(1) は 2000-04-15 となります。 加算または減算によって実在しない日付が生成された場合 (たとえば 2 月 30 日) は、代わりにその月の最後の日付が使用されます。
ある月の 29 日、30 日、31 日に対してある月数を加算または減算することは、元に戻すことができない場合があります。たとえば、2000-03-31 + %MONTHS(1) - %MONTHS(1) は 2000-03-30 になります。
詳細については、日付命令または 組み込み関数を参照してください。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... /FREE // Determine the date in 3 years newdate = date + %YEARS(3); // Determine the date in 6 months prior loandate = duedate - %MONTHS(6); // Construct a timestamp from a date and time duestamp = duedate + t'12.00.00'; /END-FREE