MySQL は、"TRUE または TRUE および FALSE" を true と評価します。これは、AND が OR よりも優先順位が高いためです。つまり、AND は OR よりも前に評価されます。
MySQL は上記のステートメントを次のように評価します。 AND 演算子 -
(TRUE or (TRUE AND FALSE))
ステートメント (TRUE AND FALSE) が最初に評価され、結果は FALSE になります。次に、2番目のステートメント 評価は次のとおりです -
(TRUE or FALSE)
上記のステートメントの結果は TRUE になります。
それを 1 つずつ実装してみましょう-
mysql> select (TRUE AND FALSE); +------------------+ | (TRUE AND FALSE) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
これで、上記の結果を AND 条件の代わりに置くことができます-
mysql> select (TRUE or FALSE); +-----------------+ | (TRUE or FALSE) | +-----------------+ | 1 | +-----------------+ 1 row in set (0.00 sec)
次に、条件全体をもう一度確認します-
mysql> select (TRUE or TRUE and FALSE);
これにより、次の出力が生成されます-
+--------------------------+ | (TRUE or TRUE and FALSE) | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)
以上がMySQL が「TRUE または TRUE および FALSE」を true として評価するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。