日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

12、MySQL逻辑运算符

發布時間:2025/3/20 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12、MySQL逻辑运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

邏輯運算符又稱為布爾運算符,用來確定表達式的真和假。MySQL中支持的邏輯運算符如下表所示。

運算符作用
NOT 或者 !邏輯非
AND 或者 &&邏輯與
OR 和 ||邏輯或
XOR邏輯異或

下面分別討論 MySQL 邏輯運算符的使用方法。

邏輯非運算(NOT 或者 !)

NOT和!都是邏輯非運算符,返回和操作數相反的結果,具體語法規則為:

  • 當操作數為 0(假)時,返回值為 1;
  • 當操作數為非零值時,返回值為 0;
  • 當操作數為 NULL 時,返回值為 NULL。

【實例1】分別使用非運算符 NOT 或者 ! 進行邏輯判斷,運行結果如下:

mysql> SELECT NOT 10,NOT(1-1),NOT-5,NOT NULL,NOT 1+1; +--------+----------+-------+----------+---------+ | NOT 10 | NOT(1-1) | NOT-5 | NOT NULL | NOT 1+1 | +--------+----------+-------+----------+---------+ | 0 | 1 | 0 | NULL | 0 | +--------+----------+-------+----------+---------+ mysql> SELECT !10,!(1-1),!-5,!NULL,!1+1; +-----+--------+-----+-------+------+ | !10 | !(1-1) | !-5 | !NULL | !1+1 | +-----+--------+-----+-------+------+ | 0 | 1 | 0 | NULL | 1 | +-----+--------+-----+-------+------+ mysql> SELECT !1+1; +------+ | !1+1 | +------+ | 1 | +------+

由運行結果可以看出,NOT 1+1和! 1+1的返回值不同,這是因為 NOT 與 ! 的優先級不同:
NOT 的優先級低于 +,因此NOT 1+1相當于NOT(1+1),先計算1+1,然后再進行 NOT 運算,由于操作數不為 0,因此NOT 1+1的結果是 0;
相反,! 的優先級別要高于 +,因此! 1+1相當于(!1)+1,先計算!1結果為 0,再加 1,最后結果為 1。

讀者在使用運算符運算時,一定要注意運算符的優先級,如果不能確定計算順序,最好使用括號,以保證運算結果的正確。

邏輯與運算符(AND 或者 &&)

AND 和 && 都是邏輯與運算符,具體語法規則為:

  • 當所有操作數都為非零值并且不為 NULL 時,返回值為 1;
  • 當一個或多個操作數為 0 時,返回值為 0;
  • 操作數中有任何一個為 NULL 時,返回值為 NULL。

【實例2】分別使用與運算符 AND 和 && 進行邏輯判斷,運行結果如下:

mysql> SELECT 1 AND -1,1 AND 0,1 AND NULL, 0 AND NULL; +----------+---------+------------+------------+ | 1 AND -1 | 1 AND 0 | 1 AND NULL | 0 AND NULL | +----------+---------+------------+------------+ | 1 | 0 | NULL | 0 | +----------+---------+------------+------------+ mysql> SELECT 1 && -1,1&&0,1&&NULL,0&&NULL; +---------+------+---------+---------+ | 1 && -1 | 1&&0 | 1&&NULL | 0&&NULL | +---------+------+---------+---------+ | 1 | 0 | NULL | 0 | +---------+------+---------+---------+

由結果可以看到,AND 和 && 的作用相同。1 AND-1中沒有 0 或者 NULL,所以返回值為 1;1 AND 0中有操作數 0,所以返回值為 0;1 AND NULL雖然有 NULL,所以返回值為 NULL。

注意:AND 運算符可以有多個操作數,但要注意多個操作數運算時,AND 兩邊一定要使用空格隔開,不然會影響結果的正確性。

邏輯或運算符(OR 或者 ||)

OR 和 || 都是邏輯或運算符,具體語法規則為:

  • 當兩個操作數都為非 NULL 值時,如果有任意一個操作數為非零值,則返回值為 1,否則結果為 0;
  • 當有一個操作數為 NULL 時,如果另一個操作數為非零值,則返回值為 1,否則結果為NULL;
  • 假如兩個操作數均為 NULL 時,則返回值為 NULL。

【實例3】分別使用或運算符 OR 和 || 進行邏輯判斷,運行結果如下:

mysql> SELECT 1 OR -1 OR 0,1 OR 2,1 OR NULL, 0 OR NULL, NULL OR NULL; +--------------+--------+-----------+-----------+--------------+ | 1 OR -1 OR 0 | 1 OR 2 | 1 OR NULL | 0 OR NULL | NULL OR NULL | +--------------+--------+-----------+-----------+--------------+ | 1 | 1 | 1 | NULL | NULL | +--------------+--------+-----------+-----------+--------------+ mysql> SELECT 1 || -1 || 0,1||2,1||NULL,0||NULL,NULL||NULL; +--------------+------+---------+---------+------------+ | 1 || -1 || 0 | 1||2 | 1||NULL | 0||NULL | NULL||NULL | +--------------+------+---------+---------+------------+ | 1 | 1 | 1 | NULL | NULL | +--------------+------+---------+---------+------------+

由結果可以看到,OR 和 || 的作用相同。下面是對各個結果的解析:

  • 1 OR -1 OR 0含有 0,但同時包含有非 0 的值 1 和 -1,所以返回結果為 1;
  • 1 OR 2中沒有操作數 0,所以返回結果為 1;
  • 1 OR NULL雖然有 NULL,但是有操作數 1,所以返回結果為 1;
  • 0 OR NULL中沒有非 0 值,并且有 NULL,所以返回值為 NULL;
  • NULL OR NULL中只有NULL,所以返回值為NULL。

異或運算(XOR 運算符)

XOR 表示邏輯異或,具體語法規則為:

  • 當任意一個操作數為 NULL 時,返回值為 NULL;
  • 對于非 NULL 的操作數,如果兩個操作數都是非 0 值或者都是 0 值,則返回值為 0;
  • 如果一個為0值,另一個為非 0 值,返回值為 1。

【實例4】使用異或運算符 XOR 進行邏輯判斷,SQL語句如下:

mysql> SELECT 1 XOR 1,0 XOR 0,1 XOR 0,1 XOR NULL,1 XOR 1 XOR 1; +---------+---------+---------+------------+---------------+ | 1 XOR 1 | 0 XOR 0 | 1 XOR 0 | 1 XOR NULL | 1 XOR 1 XOR 1 | +---------+---------+---------+------------+---------------+ | 0 | 0 | 1 | NULL | 1 | +---------+---------+---------+------------+---------------+

由結果可以看到:

  • 1 XOR 1和0 XOR 0中運算符兩邊的操作數都為非零值,或者都是零值,因此返回 0;
  • 1 XOR 0中兩邊的操作數,一個為 0 值,另一個為非 0 值,所以返回值為 1;
  • 1 XOR NULL中有一個操作數為 NULL,所以返回值為 NULL;
  • 1 XOR 1 XOR 1中有多個操作數,運算符相同,因此運算順序從左到右依次計算,1 XOR 1的結果為 0,再與 1進行異或運算,所以返回值為 1。

提示:a XOR b 的計算等同于 (a AND (NOT b))或者 ((NOT a) AND b)。

總結

以上是生活随笔為你收集整理的12、MySQL逻辑运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。