フィールド条件とは、論理レコード中のフィールドに関して、それが真か偽かを評価する条件を記述したものです。フィールド条件は、WHEN
句、NULLIF
句およびDEFAULTIF
句で使用します。
注意:
句の評価に使用するフィールドにNULL値が含まれている場合、常に、その句はFALSEと評価されます。この機能については、「WHEN、NULLIFおよびDEFAULTIF句の使用例」で説明しています。
フィールド条件は、CONTINUEIF
句の中で指定する条件と同様ですが、次の2つの点で異なります。第1に、フィールド条件で指定する位置は、物理レコードではなく論理レコードの位置を示します。第2に、論理レコード内の位置またはデータ・ファイル内のフィールド名(FILLERフィールドを含む)のいずれかを指定できます。
注意:
フィールド条件は、セカンダリ・データ・ファイル(SDF)のフィールドに基づくことができません。
field_condition
句の構文は次のとおりです。
pos_spec
句の構文は次のとおりです。
「フィールド条件の指定」では、フィールド条件句のパラメータについて説明します。位置指定パラメータの詳細は、「データ・フィールドの位置指定」を参照してください。
表10-4 フィールド条件句のパラメータ
パラメータ | 説明 |
---|---|
|
論理レコード中の比較対象フィールドの開始および終了位置です。それらの位置は小カッコで囲んでください。 開始位置の指定は、列番号、 終了位置を省略した場合、フィールド長は、比較文字列の長さから判断されます。対象フィールドと比較文字列の長さが異なるときは、短い方を埋めるために文字列が追加されます。文字列の場合は空白が追加され、16進数のバイト列の場合は0(ゼロ)が追加されます。 |
|
論理レコード中の比較対象フィールドの開始位置です。 |
|
論理レコード中の比較対象フィールドの終了位置です。 |
|
|
|
比較演算子として、等価または不等価を示す記号を指定します。 |
|
比較フィールドとの比較に使用する文字列で、一重引用符または二重引用符で囲んで指定します。比較の結果が真の場合は、現在のレコードが表に挿入されます。 |
|
16進数の文字列で、16進数2桁がフィールドの1バイトに相当します。一重引用符または二重引用符で囲まれます。比較の結果が真の場合は、現在のレコードが表に挿入されます。 |
|
フィールドが完全に空白かどうかをテストできます。 |