注意:AND 和 && 之間只有一個(gè)區(qū)別,即 AND 是一種標(biāo)準(zhǔn)語(yǔ)法,而 && 是所有權(quán)語(yǔ)法。
除上述語(yǔ)句外,AND 和 && 之間沒(méi)有任何區(qū)別。讓我們看看所有的條件。
AND 和 && 的結(jié)果總是 1 或 0。眾所周知,AND 和 && 都是邏輯運(yùn)算符,如果有多個(gè)操作數(shù)且任意其中一個(gè)值為 0,則結(jié)??果為 0,否則為 1。
這里是 AND 和 && 的演示。
情況 1(a):如果兩個(gè)操作數(shù)都是1。使用AND。
查詢?nèi)缦拢?/p>
mysql> select 1 AND 1 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
情況1(b):如果兩個(gè)操作數(shù)都是1。使用&&。
查詢?nèi)缦拢?/p>
mysql> select 1 && 1 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
情況2(a):如果任意一個(gè)操作數(shù)為0,則結(jié)果為0。使用AND。
查詢?nèi)缦拢?/p>
mysql> select 1 AND 0 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
情況2(b):如果任何一個(gè)操作數(shù)為0,則結(jié)果變?yōu)?。使用&&。
查詢?nèi)缦拢?/p>
mysql> select 1 && 0 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
這是空值情況。
情況3(a):如果任何一個(gè)操作數(shù)為NULL,則結(jié)果變?yōu)镹ULL。使用AND。
查詢?nèi)缦拢?/p>
mysql> select NULL AND 1 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
情況 3(b):如果任一操作數(shù)為 NULL,則結(jié)果變?yōu)?NULL。使用&&。
查詢?nèi)缦拢?/p>
mysql> select NULL && 1 as Result;
登錄后復(fù)制
以下是輸出結(jié)果:
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制登錄后復(fù)制
注意:上面討論的情況不僅僅依賴于1和0。任何非零值都將為真,這意味著如果我們對(duì)兩個(gè)負(fù)數(shù)進(jìn)行AND或&&運(yùn)算,結(jié)果將變?yōu)?。
看看負(fù)數(shù)的情況。查詢?nèi)缦拢?/p>
mysql> select -10 AND -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.04 sec) mysql> select -10 && -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制
在上述情況下,如果任何一個(gè)值為0,則在AND和&&中結(jié)果都變?yōu)?。查詢?nèi)缦拢?/p>
mysql> select -10 AND 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制
看看積極的案例。查詢?nèi)缦拢?/p>
mysql> select 10 AND 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制
其中,如果任意一個(gè)操作數(shù)變?yōu)?,則結(jié)果變?yōu)?。查詢?nèi)缦拢?/p>
mysql> select 10 and 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
登錄后復(fù)制
以上就是MySQL 中“AND”和“&&”的區(qū)別?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!