mysql 邏輯等 MySQL 邏輯運算子

2021-10-18 18:42:11 字數 1505 閱讀 8814

運算子

作用not 或 !

邏輯非and 或 &&

邏輯與or 或 ||

邏輯或xor

邏輯異或

1、邏輯非 ( not 或 !)

(1) 當運算元為 0 時,所得值為 1

(2) 當運算元為非 0 時,所得值為 0

(3) 當運算元為 null 時,所得值為 null

mysql> select not 10, !10, not (1-1), !(1-1), not 1+1, not null ;

| not 10 | !10 | not (1-1) | !(1-1) | not 1+1 | not null |

| 0      | 0   | 1         | 1      | 0       | null     |

2、邏輯與 ( and 或 && )

(1) 當所有運算元均為非零值、並且不為 null 時,所得值為 1

(2) 當乙個或多個運算元為 0 時,所得值為 0

(3) 其餘情況所得值為 null

mysql> select 1 and -1, 1 && 0, 0 and null, 1 && null ;

| 1 and -1 | 1 && 0 | 0 and null | 1 && null |

| 1        | 0      | 0          | null      |

3、邏輯或 ( or 或 || )

(1) 當兩個運算元均為非 null 值,且任意乙個運算元為非零值時,結果為 1 ,否則為 0

(2) 當有乙個運算元為 null ,且另乙個運算元為非零值時,則結果為 1 ,否則結果為 null

(3) 當兩個運算元均為 null 時,則所得結果為 null

mysql> select 1 or -1 or 0, 1 || 2, 0 or null, null || null ;

| 1 or -1 or 0 | 1 || 2 | 0 or null | null || null |

| 1            | 1      | null      | null         |

4、邏輯異或 ( xor )

(1) a xor b 的計算等同於 ( a and (not b) ) 或 ( (not a) and b )

(2) 當任意乙個運算元為 null 時,返回值為 null

(3) 對於非 null 的運算元,如果兩個運算元都是非 0 值或者都是 0 值,則返回結果為 0

(4) 如果乙個為 0 值,另乙個為非 0 值,返回結果為 1

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             |

mysql 多邏輯 MySql邏輯架構

一 mysql伺服器邏輯架構圖 每個虛線框都是一層 第二層 大多數的mysql的核心服務功能都在這一層,包括查詢解析 分析 優化 快取以及所有的內建函式 例如 日期,時間,數學和加密函式等 所有跨儲存引擎的功能都在這一層實現 儲存過程,觸發器,檢視。第三層 包含了儲存引擎。儲存引擎負責mysql中的...

mysql邏輯組 MySql邏輯結構簡介

結構示意圖 如上圖,可把資料庫的結構分成四層,見下圖及文字說明 一 連線層 提供客戶端和連線服務,包含本地sock通訊和大多數基於客戶端 服務端工具實現的類似於tcp ip的通訊,主要完成一些類似於連線處理 授權認證 及相關的安全方案,在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行...

mysql 多邏輯 Mysql的邏輯架構

mysql的邏輯架構圖 mysql是分層的 整體分為 connectors 連線驅動 enterprise management services utillties 服務管理器和一些工具 connection pool 連線池 sql interfice sql介面 parser 解析器 opti...