SUBDUR 命令は、次の期間の計算にも使用することができます。
- 2 つの日付
- 日付とタイム・スタンプ
- 2 つの時刻
- 時刻とタイム・スタンプ
- 2 つのタイム・スタンプ
演算項目 1 と演算項目 2 のデータ・タイプは、上記に指定した通り、矛盾しないものでなければなりません。
演算項目 1 は必須で、日付、時刻、またはタイム・スタンプ・フィールド、
サブフィールド、配列、配列要素、定数、またはリテラルを入れることが
できます。
演算項目 2 も必須で、日付、時刻、またはタイム・スタンプ・フィールド、配列
、配列要素、リテラル、または定数を入れることができます。
次の期間コードが有効です。
- 2 つの日付または日付とタイム・スタンプの場合: *DAYS (*D)、*MONTHS (*M)、および
*YEARS (*Y)
- 2 つの時刻または時刻とタイム・スタンプの場合: *SECONDS (*S)、*MINUTES (*MN)、および
*HOURS (*H)
- 2 つのタイム・スタンプの場合:
*MSECONDS (*MS)、*SECONDS (*S)、
*MINUTES (*MN)、*HOURS (*H)、*DAYS (*D)、*MONTHS (*M)、および *YEARS (*Y)
結果は整数の数字で、剰余は廃棄されます。
例えば、61 分は 1 時間と等しく、59 分は 0 時間に等しくなります。
結果フィールドは 2 つの副演算項目から構成されます。 最初の副演算項目は、
この命令の結果が入れられる、小数点以下の桁数がゼロの数値フィールド、
配列、または配列要素の名前です。 2 番目の副演算項目には、期間のタイプを
示す期間コードが入ります。 演算項目 1 の日付が演算項目 2 の日付より速い場
合には、結果フィールドは負になります。
日付時刻フィールドの処理の詳細については、
日付命令を参照してください。
注: マイクロ秒の期間 (*mseconds) の計算は、期間に対する 15 桁のシステム
の制限を超えることがあって、エラーまたは切り捨ての原因になります。 このよ
うな状況は、演算項目 1 と演算項目 2 の指定に 32 年と 9 か月を超える差があ
る時に起こります。