
MySQL将“TRUE or TRUE and FALSE”评估为true,因为AND比OR具有更高的优先级,即AND在OR之前被评估。
MySQL按照以下方式评估上述语句。首先评估AND运算符 −
(TRUE or (TRUE AND FALSE))
语句 (TRUE AND FALSE) 的结果是 FALSE。然后是第二个语句 评估如下 -
(TRUE or FALSE)
上面的语句给出的结果为 TRUE。
让我们一一实现 -
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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号