省略された結合比較条件
比較条件が括弧を間に入れずに連続して記述されている場合、
最初の比較条件の後の任意の比較条件を、以下の 2 つの方法のいずれかで省略することが可能です。
- サブジェクトの省略
- サブジェクトと関係演算子の省略
省略された結合比較条件 - 形式 >>-比較条件---------------------------------------------------------> .-------------------------------------------------------------------. V | >----+-AND-+--+----+--+---------+--+-------------------+--オブジェクト-+->< '-OR--' '-IS-' | (1) | +-GREATER--+------+-+ '-NOT-----' | '-THAN-' | +->-----------------+ +-LESS--+------+----+ | '-THAN-' | +-<-----------------+ +-EQUAL--+----+-----+ | '-TO-' | +-=-----------------+ +-| 以上 |----------+ +->=----------------+ +-| 以下 |----------+ '-<=----------------' 「以上」条件 |--GREATER--+------+--OR EQUAL--+----+--------------------------| '-THAN-' '-TO-' 「以下」条件 |--LESS--+------+--OR EQUAL--+----+-----------------------------| '-THAN-' '-TO-'
注:
- NOT GREATER THAN OR EQUAL TO、NOT >=、NOT LESS THAN OR EQUAL TO、および NOT <= は、IBM® 拡張です。
オブジェクトとは、その前にある比較条件のサブジェクトと比較できる、任意のデータ項目または式のことです。
連続する一連の比較条件では、両方の省略形を指定できます。省略形の条件は次のように評価されます。
- 最後に記述されたサブジェクトが省略されたサブジェクトであるものとして。
- 最後に記述された関係演算子が、省略された関係演算子であるものとして。
その結果の結合条件は 表 1 に示したような、結合条件でのエレメントの順序の規則に従っていなければなりません。
NOT という語は、NOT GREATER THAN、NOT >、NOT LESS THAN、NOT <、 NOT EQUAL TO、および NOT = の形式の関係演算子の一部であると見なされます。
他の位置にある NOT は、論理演算子であると見なされます (したがって、否定比較条件となります)。
以下の例では、省略された結合比較条件に括弧が付いたものと付いていないもの、およびそれらと同じものを省略していない形が示されています。
| 省略された結合比較条件 | 同等の内容 |
|---|---|
A = B AND NOT < C OR D |
((A = B) AND (A NOT < C)) OR (A NOT < D) |
| A NOT > B OR C | (A NOT > B) OR (A NOT > C) |
| NOT A = B OR C | (NOT (A = B)) OR (A = C) |
| NOT (A = B OR < C) | NOT ((A = B) OR (A < C)) |
| NOT (A NOT = B AND C AND NOT D) | NOT ((((A NOT = B) AND (A NOT = C)) AND (NOT (A NOT = D)))) |
