- SQLite 教程
- SQLite - 首頁
- SQLite - 概述
- SQLite - 安裝
- SQLite - 命令
- SQLite - 語法
- SQLite - 資料型別
- SQLite - 建立資料庫
- SQLite - 附加資料庫
- SQLite - 分離資料庫
- SQLite - 建立表
- SQLite - 刪除表
- SQLite - INSERT 查詢
- SQLite - SELECT 查詢
- SQLite - 運算子
- SQLite - 表示式
- SQLite - WHERE 子句
- SQLite - AND & OR 子句
- SQLite - UPDATE 查詢
- SQLite - DELETE 查詢
- SQLite - LIKE 子句
- SQLite - GLOB 子句
- SQLite - LIMIT 子句
- SQLite - ORDER BY 子句
- SQLite - GROUP BY 子句
- SQLite - HAVING 子句
- SQLite - DISTINCT 關鍵字
- 高階 SQLite
- SQLite - PRAGMA
- SQLite - 約束
- SQLite - JOIN
- SQLite - UNION 子句
- SQLite - NULL 值
- SQLite - 別名語法
- SQLite - 觸發器
- SQLite - 索引
- SQLite - INDEXED BY 子句
- SQLite - ALTER 命令
- SQLite - TRUNCATE 命令
- SQLite - 檢視
- SQLite - 事務
- SQLite - 子查詢
- SQLite - AUTOINCREMENT
- SQLite - 注入
- SQLite - EXPLAIN
- SQLite - VACUUM
- SQLite - 日期和時間
- SQLite - 常用函式
- SQLite 有用資源
- SQLite - 快速指南
- SQLite - 有用資源
- SQLite - 討論
SQLite - 運算子
什麼是 SQLite 中的運算子?
運算子是保留字或字元,主要用於 SQLite 語句的 WHERE 子句中執行操作,例如比較和算術運算。
運算子用於指定 SQLite 語句中的條件,並用作語句中多個條件的連線詞。
- 算術運算子
- 比較運算子
- 邏輯運算子
- 位運算子
SQLite 算術運算子
假設變數a為 10,變數b為 20,則 SQLite 算術運算子將按如下方式使用:
| 運算子 | 描述 | 示例 |
|---|---|---|
| + (加法) | 將運算子兩側的值相加 | a + b 將得到 30 |
| - (減法) | 從左運算元中減去右運算元 | a - b 將得到 -10 |
| * (乘法) | 將運算子兩側的值相乘 | a * b 將得到 200 |
| / (除法) | 將左運算元除以右運算元 | b / a 將得到 2 |
| % (取模) | 將左運算元除以右運算元並返回餘數 | b % a 將得到 0 |
SQLite 比較運算子
假設變數a為 10,變數b為 20,則 SQLite 比較運算子將按如下方式使用:
| 運算子 | 描述 | 示例 |
|---|---|---|
| == | 檢查兩個運算元的值是否相等,如果相等,則條件為真。 | (a == b) 為假。 |
| = | 檢查兩個運算元的值是否相等,如果相等,則條件為真。 | (a = b) 為假。 |
| != | 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 | (a != b) 為真。 |
| <> | 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 | (a <> b) 為真。 |
| > | 檢查左運算元的值是否大於右運算元的值,如果是,則條件為真。 | (a > b) 為假。 |
| < | 檢查左運算元的值是否小於右運算元的值,如果是,則條件為真。 | (a < b) 為真。 |
| >= | 檢查左運算元的值是否大於或等於右運算元的值,如果是,則條件為真。 | (a >= b) 為假。 |
| <= | 檢查左運算元的值是否小於或等於右運算元的值,如果是,則條件為真。 | (a <= b) 為真。 |
| !< | 檢查左運算元的值是否不小於右運算元的值,如果是,則條件為真。 | (a !< b) 為假。 |
| !> | 檢查左運算元的值是否不大於右運算元的值,如果是,則條件為真。 | (a !> b) 為真。 |
SQLite 邏輯運算子
以下是 SQLite 中所有可用邏輯運算子的列表。
| 序號 | 運算子 & 描述 |
|---|---|
| 1 | AND AND 運算子允許 SQL 語句的 WHERE 子句中存在多個條件。 |
| 2 | BETWEEN BETWEEN 運算子用於搜尋在給定最小值和最大值的一組值內的值。 |
| 3 | EXISTS EXISTS 運算子用於搜尋指定表中是否存在滿足某些條件的行。 |
| 4 | IN IN 運算子用於將值與已指定的文字值列表進行比較。 |
| 5 | NOT IN IN 運算子的反義,用於將值與已指定的文字值列表進行比較。 |
| 6 | LIKE LIKE 運算子用於使用萬用字元運算子將值與類似的值進行比較。 |
| 7 | GLOB GLOB 運算子用於使用萬用字元運算子將值與類似的值進行比較。此外,與 LIKE 不同,GLOB 區分大小寫。 |
| 8 | NOT NOT 運算子反轉與其一起使用的邏輯運算子的含義。例如 NOT EXISTS、NOT BETWEEN、NOT IN 等。這是否定運算子。 |
| 9 | OR OR 運算子用於在 SQL 語句的 WHERE 子句中組合多個條件。 |
| 10 | IS NULL NULL 運算子用於將值與 NULL 值進行比較。 |
| 11 | IS IS 運算子的工作方式類似於 = |
| 12 | IS NOT IS 運算子的工作方式類似於 != |
| 13 | || 將兩個不同的字串相加並建立一個新的字串。 |
| 14 | UNIQUE UNIQUE 運算子搜尋指定表中的每一行以查詢唯一性(無重複項)。 |
SQLite 位運算子
位運算子對位進行運算,並執行逐位運算。以下是&和|的真值表。
| p | q | p & q | p | q |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
假設A = 60;和B = 13,則以二進位制格式,它們將如下所示:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
~A = 1100 0011
SQLite 語言支援的位運算子列在下面的表中。假設變數A為 60,變數B為 13,則:
| 運算子 | 描述 | 示例 |
|---|---|---|
| & | 二進位制 AND 運算子將位複製到結果中,如果它存在於兩個運算元中。 | (A & B) 將得到 12,即 0000 1100 |
| | | 二進位制 OR 運算子複製位,如果它存在於任一運算元中。 | (A | B) 將得到 61,即 0011 1101 |
| ~ | 二進位制一位補碼運算子是單目運算子,其作用是“翻轉”位。 | (~A ) 將得到 -61,由於帶符號二進位制數,以 2 的補碼形式表示為 1100 0011 |
| << | 二進位制左移運算子。左運算元的值向左移動右運算元指定的位數。 | A << 2 將得到 240,即 1111 0000 |
| >> | 二進位制右移運算子。左運算元的值向右移動右運算元指定的位數。 | A >> 2 將得到 15,即 0000 1111 |