Hitachi

Hitachi Advanced Database SQLリファレンス


7.20.9 論理述語

値式の論理値を判定します。

〈この項の構成〉

(1) 指定形式

論理述語::=値式 IS 〔NOT〕 {TRUE|FALSE|UNKNOWN}

(2) 指定形式の説明

値式

論理述語の評価対象とする値式を指定します。値式については,「7.21 値式」を参照してください。

規則を次に示します。

  • 値式の結果のデータ型はBOOLEAN型にしてください。

  • 値式の結果がナル値の場合,その値式の論理値は不定と等価になります。

  • 値式に?パラメタを指定した場合,?パラメタに仮定されるデータ型はBOOLEAN型になります。

論理述語中に指定した値(TRUEFALSE,またはUNKNOWN)と,値式の論理値が一致する場合に,論理述語の結果は真となります。論理述語の結果の一覧を次の表に示します。

表7‒16 論理述語の結果の一覧

論理述語中の指定値

値式の論理値

不定

IS TRUE

IS FALSE

IS UNKNOWN

(凡例)

真:論理述語の結果が真となります。

偽:論理述語の結果が偽となります。

NOT

NOTを指定した場合,論理述語中に指定した値(TRUEFALSE,またはUNKNOWN)と,値式の論理値が一致しない場合に,論理述語の結果は真となります。上記の表の「真」と「偽」が逆になります。

(3) 規則

指定した論理述語は,HADBによって次の表に示すように比較述語およびNULL述語に変換されて実行されます。

表7‒17 指定した論理述語と変換後の述語の関係

指定した論理述語

変換後の述語

値式 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

下線部分が論理述語の指定です。