Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


日付フィールドの比較

日付フィールドは、英数字カテゴリー、ゾーン 10 進数、または内部 10 進数にすることができます。妥当性および比較タイプ (数字または英数字) に関する既存の規則が適用されます。例えば、英数字の日付フィールドは、内部 10 進数の日付フィールドと比較することはできません。これらの規則に加えて、2 つの日付フィールドをそれらに互換性がある場合だけ比較できます。すなわち、 ウィンドウ化西暦年でも拡張西暦年でもよい年部分を除いて、同じ日付フォーマットでなければなりません。

年末尾型日付フィールドの場合、サポートされる唯一の比較は、 日付フォーマットが同じ 2 つの年末尾型日付フィールドの間の IS EQUAL TO および IS NOT EQUAL TO、 または年末尾型日付フィールドと非日付データの間の比較だけです。

『日付フィールドとの比較』(表 27) は、非年末尾型日付フィールドについてサポートされる比較を示しています。この表では、比較の実行方法を記述するのに以下の用語を使用しています。

ウィンドウ化なし
オペランドが両方とも非日付データであるかのように、 ウィンドウ化なしで比較が実行されます。
ウィンドウ化
以下のように、比較が実行されます。
  1. 比較の中のウィンドウ化日付フィールドは、YEARWINDOW コンパイラー・オプションによって指定された世紀ウィンドウに従って 拡張されたかのように扱われます (ウィンドウ化日付フィールドのセマンティクスを参照してください)。
  2. 反復する英数字の表意定数は、比較されるウィンドウ化日付フィールド (英数字の非日付データの被比較数) のサイズまで拡張されたかのように扱われます。反復の英数字の表意定数には、ZERO (英数字のコンテキストの場合)、SPACE、 LOW-VALUE、HIGH-VALUE、QUOTE、および ALL リテラル があります。
  3. 非日付データオペランドは、日付フィールドと同じ日付フォーマットで、 1900 を基本年とするもののようにして扱われます。

その後、通常の COBOL 規則に従って比較が実行されます。世紀値を接頭部として付けることによって英数字の比較が数字の比較に変更されることはありません。

表 27. 日付フィールドとの比較
  非日付データ
第 2 オペランド
ウィンドウ化日付フィールド
第 2 オペランド
拡張日付フィールド
第 2 オペランド
非日付データ
第 1 オペランド
ウィンドウ化なし ウィンドウ化1 ウィンドウ化なし
ウィンドウ化日付フィールド
第 1 オペランド
ウィンドウ化1 ウィンドウ化 ウィンドウ化
拡張日付フィールド
第 1 オペランド
ウィンドウ化なし ウィンドウ化 ウィンドウ化なし
  1. ウィンドウ化日付フィールドとの比較において非日付データは、1900 を基準とするウィンドウ化西暦年を含むものと想定されます。詳細については、「ウィンドウ化」比較の定義の項目 3 を参照してください。

比較条件に算術式を含めることができます。算術式での日付フィールドの処理については、日付フィールドを使用する算術計算を参照してください。


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)