MySQL將“TRUE or TRUE and FALSE”評(píng)估為true,因?yàn)锳ND比OR具有更高的優(yōu)先級(jí),即AND在OR之前被評(píng)估。
MySQL按照以下方式評(píng)估上述語(yǔ)句。首先評(píng)估AND運(yùn)算符 ?
(TRUE or (TRUE AND FALSE))
登錄后復(fù)制
語(yǔ)句 (TRUE AND FALSE) 的結(jié)果是 FALSE。然后是第二個(gè)語(yǔ)句
評(píng)估如下 –
(TRUE or FALSE)
登錄后復(fù)制
上面的語(yǔ)句給出的結(jié)果為 TRUE。
讓我們一一實(shí)現(xiàn) –
mysql> select (TRUE AND FALSE); +------------------+ | (TRUE AND FALSE) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
登錄后復(fù)制
現(xiàn)在我們可以將上述結(jié)果放在AND條件的位置−
mysql> select (TRUE or FALSE); +-----------------+ | (TRUE or FALSE) | +-----------------+ | 1 | +-----------------+ 1 row in set (0.00 sec)
登錄后復(fù)制
現(xiàn)在再次檢查整個(gè)條件 −
mysql> select (TRUE or TRUE and FALSE);
登錄后復(fù)制
這將產(chǎn)生以下輸出 ?
+--------------------------+ | (TRUE or TRUE and FALSE) | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)
登錄后復(fù)制
以上就是為什么 MySQL 將“TRUE 或 TRUE 和 FALSE”評(píng)估為 true?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!