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
廣告
© . All rights reserved.