| 演算子 | 説明 | 例 |
|---|---|---|
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 |