演算子 | 説明 | 例 |
---|---|---|
AND |
両方の値が true の場合に true | a AND b |
OR |
どちらかの値が true の場合に true | a OR b |
NOT |
値が false の場合に true | NOT a |
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 |