MySQL为什么将“ TRUE或TRUE and FALSE”评估为true?
MySQL将“TRUE或TRUE和FALSE”评估为true,因为AND的优先级高于OR,即AND的评估优先于OR。
MySQL这样评估上述语句。AND运算符首先被评估-
(TRUE or (TRUE AND FALSE))
语句(TRUEANDFALSE)给出结果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)
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短