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