運算子
作用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...