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?的詳細內容,更多請關注www.92cms.cn其它相關文章!