7.20.9 論理述語
値式の論理値を判定します。
- 〈この項の構成〉
(1) 指定形式
論理述語::=値式 IS 〔NOT〕 {TRUE|FALSE|UNKNOWN}
(2) 指定形式の説明
- 値式:
-
論理述語の評価対象とする値式を指定します。値式については,「7.21 値式」を参照してください。
規則を次に示します。
-
値式の結果のデータ型はBOOLEAN型にしてください。
-
値式の結果がナル値の場合,その値式の論理値は不定と等価になります。
-
値式に?パラメタを指定した場合,?パラメタに仮定されるデータ型はBOOLEAN型になります。
論理述語中に指定した値(TRUE,FALSE,またはUNKNOWN)と,値式の論理値が一致する場合に,論理述語の結果は真となります。論理述語の結果の一覧を次の表に示します。
表7‒16 論理述語の結果の一覧 論理述語中の指定値
値式の論理値
真
偽
不定
IS TRUE
真
偽
偽
IS FALSE
偽
真
偽
IS UNKNOWN
偽
偽
真
- (凡例)
-
真:論理述語の結果が真となります。
偽:論理述語の結果が偽となります。
-
- NOT:
-
NOTを指定した場合,論理述語中に指定した値(TRUE,FALSE,またはUNKNOWN)と,値式の論理値が一致しない場合に,論理述語の結果は真となります。上記の表の「真」と「偽」が逆になります。
(3) 規則
指定した論理述語は,HADBによって次の表に示すように比較述語およびNULL述語に変換されて実行されます。
|
指定した論理述語 |
変換後の述語 |
|---|---|
|
値式 IS TRUE |
値式 IS NOT NULL AND 値式 = 'T' |
|
値式 IS FALSE |
値式 IS NOT NULL AND 値式 = 'F' |
|
値式 IS UNKNOWN |
値式 IS NULL |
|
値式 IS NOT TRUE |
値式 IS NULL OR 値式 != 'T' |
|
値式 IS NOT FALSE |
値式 IS NULL OR 値式 != 'F' |
|
値式 IS NOT UNKNOWN |
値式 IS NOT NULL |
HADBでは,値式の論理データはCHAR(1)の文字データとして扱われます。TRUEの場合は'T',FALSEの場合は'F'と見なされます。
(4) 例題
- 例題1
-
社員表(EMPLIST)を検索して,在籍中かつリモート勤務が許可されている社員を検索します。
SELECT "ID","NAME" FROM "EMPLIST" WHERE "IS_ACTIVE" IS TRUE AND "IS_REMOTE_ALLOWED" IS TRUE下線部分が論理述語の指定です。
- 例題2
-
社員表(EMPLIST)を検索して,リモート勤務の許可が未設定の社員を検索します。
SELECT "ID","NAME" FROM "EMPLIST" WHERE "IS_REMOTE_ALLOWED" IS UNKNOWN
下線部分が論理述語の指定です。