AYM - 月数の加算または減算

AYM 関数は、年月フォーマットの日付と指定した月数の和または差を計算します。CHGDAT または EDIT 関数を使用することで、日付をこのフォーマットに変換することができます。

日付に月数を加算または減算

AYM(indate, months, output)

説明

indate

I4、I4YM、I6、または I6YYM

年月フォーマットのレガシー日付です。日付を含むフィールド名、または日付を返す式を指定することもできます。日付が有効でない場合、この関数は 0 (ゼロ) を返します。

months

整数

日付に加算、または日付から減算する月数です。月を減算するには、負の値を使用します。

output

I4YM または I6YYM

結果のレガシー日付です。結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。

ヒント:入力日付が整数年月日フォーマット (I6YMD または I8YYMD) の場合、日付を 100 で除算することにより、年月フォーマットに変換し、結果を整数に設定します。これにより日付の日の部分が削除されます。日は、小数部分で表されます。

日付に月数を追加

COMPUTE コマンドは、HIRE_DATE の日付を年月日から年月フォーマットに変換し、結果を HIRE_MONTH に格納します。AYM は、HIRE_MONTH に 6 か月加算し、結果を AFTER6MONTHS に格納します。

TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND COMPUTE
HIRE_MONTH/I4YM = HIRE_DATE/100 ;
AFTER6MONTHS/I4YM = AYM(HIRE_MONTH, 6, AFTER6MONTHS);
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'MIS';
END

出力結果は次のとおりです。

LAST_NAME        FIRST_NAME  HIRE_DATE  HIRE_MONTH  AFTER6MONTHS
---------        ----------  ---------  ----------  ------------
BLACKWOOD        ROSEMARIE    82/04/01       82/04         82/10
CROSS            BARBARA      81/11/02       81/11         82/05
GREENSPAN        MARY         82/04/01       82/04         82/10
JONES            DIANE        82/05/01       82/05         82/11
MCCOY            JOHN         81/07/01       81/07         82/01
SMITH            MARY         81/07/01       81/07         82/01