为什么 mysql 将“true 或 true 和 false”评估为 true?

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?的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(50) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部