論理演算子

論理演算子

演算子

説明

AND

両方の値が真の場合、真

a AND b

OR

いずれかの値が真の場合、真

a OR b

NOT

値が偽の場合、真

NOT a

論理演算子におけるNULLの影響

AND比較の結果は、式の片方または両方がNULLの場合、NULLになる可能性があります。AND演算子の少なくとも片方がFALSEの場合、式はFALSEと評価されます。

SELECT CAST(null AS boolean) AND true; -- null

SELECT CAST(null AS boolean) AND false; -- false

SELECT CAST(null AS boolean) AND CAST(null AS boolean); -- null

OR比較の結果は、式の片方または両方がNULLの場合、NULLになる可能性があります。OR演算子の少なくとも片方がTRUEの場合、式はTRUEと評価されます。

SELECT CAST(null AS boolean) OR CAST(null AS boolean); -- null

SELECT CAST(null AS boolean) OR false; -- null

SELECT CAST(null AS boolean) OR true; -- true

次の真理値表は、ANDおよびORにおけるNULLの処理を示しています。

a

b

a AND b

a OR b

TRUE

TRUE

TRUE

TRUE

TRUE

FALSE

FALSE

TRUE

TRUE

NULL

NULL

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

NULL

FALSE

NULL

NULL

TRUE

NULL

TRUE

NULL

FALSE

FALSE

NULL

NULL

NULL

NULL

NULL

NULLの論理的補集合は、次の例に示すようにNULLです。

SELECT NOT CAST(null AS boolean); -- null

次の真理値表は、NOTにおけるNULLの処理を示しています。

a

NOT a

TRUE

FALSE

FALSE

TRUE

NULL

NULL