Closed1
mysqlにて、`A is not TRUE`と`A != TRUE`の挙動は異なるか
A is not TRUEとA != TRUE
の挙動は確かに異なります。
- A is not TRUE
この表現は、AがTRUEでない場合(つまり、AがFALSEまたはNULLの場合)にTRUEを返します。 - A != TRUE
この表現は、AがTRUEでない場合にTRUEを返しますが、AがNULLの場合は結果もNULLとなります(SQLの三値論理(TRUE、FALSE、UNKNOWN)に基づいています)。
したがって、主な違いはAがNULLの場合の挙動です。
A is not TRUEの方が、NULLを考慮した厳格な比較を提供します。
このスクラップは2023/09/14にクローズされました