検索条件の一般的な構文

検索条件は、単一の条件、または論理演算子ANDORによって連結された複数の条件です。条件は、式においてTRUEFALSEUNKNOWNとして評価される処理です。行に対して条件がTRUEと評価された場合、その行はそれ以降の処理対象になります。条件がFALSEまたはNULLと評価された場合、行は処理対象とはなりません。

SQL構文

[NOT] 
{BetweenPredicate | ComparisonPredicate | InPredicate |
    LikePredicate | NullPredicate | InfinitePredicate | NaNPredicate |
QuantifiedPredicate |(SearchCondition)} 
[{AND | OR} [NOT] 
{BetweenPredicate | ComparisonPredicate | InPredicate |
    LikePredicate | NullPredicate | QuantifiedPredicate | (SearchCondition)}
] [...]

パラメータ

構成要素 説明

NOTANDOR

論理演算子には、次のものがあります。

  • NOTは、それに続く条件の値を否定します。

  • ANDで結ばれた2つの条件がTRUEと評価された場合、TRUEと評価されます。

  • ORで結ばれた条件のいずれか一方がTRUEと評価された場合はTRUEと評価され、いずれもFALSEと評価された場合はFALSEと評価されます。

  • これらの演算子の述語がNULLと評価された場合の動作については、「説明」を参照してください。

BetweenPredicate

式が一定の値の範囲に含まれているかどうかを判断します。たとえば、A BETWEEN B AND CA >= B AND A<= Cと同じです。

ComparisonPredicate

<<=>>==<>のいずれかの演算子を使用して、2つの式(または2つの式のリスト)を比較します。

InPredicate

指定したセット内の要素と式(または式のリスト)が一致するかどうかを判断します。

ExistsPredicate

副問合せが行を返すかどうかを判断します。

LikePredicate

特定の文字列パターンが式に含まれているかどうかを判断します。

NullPredicate

値がNULLであるかどうかを判断します。

InfinitePredicate

式が無限大(正または負の無限大)であるかどうかを判断します。

NaNPredicate

式が演算での未定義の結果(非数)であるかどうかを判断します。

QuantifiedPredicate

指定したセットと式(または式のリスト)に特定の関係があるかどうかを判断します。

(SearchCondition)

前述のいずれかの条件をカッコで囲みます。

説明

  • 検索条件の条件は、次のように評価されます。

    • カッコで囲んだ条件は、最初に評価されます。

    • NOTは、各条件に対して適用されます。

    • ANDは、右側の条件に、左から右の方向に適用されます。

    • ORは、末尾の条件に、左から右の方向に適用されます。

    図5-1は、論理演算によって算出される値を示します。疑問符(?)は、NULL値を示します。

図5-1 論理演算によって算出される値

図5-1の説明は次にあります
図5-1「論理演算によって算出される値」の説明
  • 行の検索条件がNULLと評価された場合、行は検索条件を満たさないため処理対象になりません。

  • 互換性のあるデータ型のみを比較できます。

    • TT_TINYINTTT_SMALLINTTT_INTEGERTT_BIGINTNUMBERBINARY_FLOATおよびBINARY_DOUBLEは、互換性があります。

    • CHARVARCHAR2BINARYおよびVARBINARYは、長さに関係なく互換性があります。

    • CHARVARCHAR2NCHARNVARCHAR2TT_TIMEDATEおよびTIMESTAMPは、互換性があります。

  • 比較演算時の値の拡張については、「式」を参照してください。

  • TimesTenで互換性のある異なるデータ型の値が比較される方法については、「数値データ型」を参照してください。