%MONTHS (月数)

%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 になります。

詳細については、日付命令または 組み込み関数を参照してください。

図 232. %MONTHS と %YEARS の例
 *..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


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]