SQLite運算符

當使用WHERE子句執行比較和算術運算時需要使用到運算符,SQLite運算符是SQLite語句中使用的保留字或字元。

可以使用運算符來指定條件和SQLite語句中多個條件的連接。

SQLite中主要有4種類型的運算符:

  • 算術運算符
  • 比較運算符
  • 邏輯運算符
  • 按位運算符

SQLite算術運算符

下表指定了SQLite中的算術運算符。 在這個表中,有兩個變數“a”和“b”,它們的值分別是50100

運算符 說明 示例
+ 加法運算符:用於將運算符兩側的值相加 a+b = 150
- 減法運算符:用於從左運算元減去右運算元。 a-b = -50
* 乘法運算符:用於將運算符兩邊的運算元相乘。 a*b = 5000
/ 除法運算符:它是將左運算元除以右運算元。 a/b = 0.5
% 模數運算符:用於通過左運算元除以右運算元並返回餘數。 b/a = 0

SQLite比較運算符

下表中列出了SQLite中的比較運算符。 在這個表中,有兩個變數“a”和“b”,它們的值分別是50100

運算符 說明 示例
== 它用於檢查兩個運算元的值是否相等,如果是,則條件求值結果為true,否則返回false (a == b)的結果為false
= 它用於檢查兩個運算元的值是否相等,如果是,則條件求值結果為true,否則返回false (a = b)的結果為false
!= 它用於檢查兩個運算元的值是否相等,如果兩個值不相等則條件求值結果為true (a != b)的結果為true
<> 它用於檢查兩個運算元的值是否相等,如果兩個值不相等則條件求值結果為true (a <> b)的結果為true
> 它用於檢查左運算元的值是否大於右運算元的值,如果是,則條件求值結果為true (a > b)結果為false
< 它用於檢查左運算元的值是否小於右運算元的值,如果是,則條件求值結果為true (a < b)結果為true
>= 用於檢查左運算元的值是否大於或等於右運算元的值,如果是,則條件求值結果為true (a >= b)結果為false
<= 它用於檢查左運算元的值是否小於或等於右運算元的值,如果是,則條件求值結果為true (a <= b)結果為true
!< 它用於檢查左運算元的值是否不小於右運算元的值,如果是,則條件求值結果為true (a !< b)結果為false
!> 它用於檢查左運算元的值是否不大於右運算元的值,如果是,則條件求值結果為true (a !> b)結果為true

SQLite邏輯運算符

以下是SQLite中的邏輯運算符列表:

運算符 說明
AND AND運算符允許在SQL語句WHERE子句中存在(或使用)多個條件。
BETWEEN BETWEEN運算符用於搜索位於給定最小值和最大值的範圍內的值。
EXISTS EXISTS運算符用於搜索符合特定條件的指定表中的行的存在。
IN IN運算符用於將值與已指定的文字值列表中的值進行比較。
NOT IN IN運算符用於將值與指定的文字值列表中的值進行比較的否定。
LIKE LIKE運算符用於使用通配符運算符將值與類似值進行比較。
GLOB GLOB運算符用於使用通配符運算符將值與類似值進行比較。 此外,glob是區分大小寫的,這點不同於like操作符。
NOT NOT運算符反轉使用它的邏輯運算符的含義。 例如:NOT EXISTSNOT BETWEENNOT IN等。這些被稱為否定運算符。
OR OR運算符用於組合SQL語句where子句中的多個條件。
IS NULL NULL運算符用於將值與空(null)值進行比較。
IS IS運算符工作類似於=運算符
IS NOT IS NOT操作符類似於!=運算符
該運算符用於將運算符兩側的兩個不同的字串連接創建為一個新的字串。
UNIQUE UNIQUE運算符搜索指定表的每一行記錄的唯一性(值不重複)。

SQLite位運算符

SQLite位運算符工作在位上並執行逐位操作。

下麵是二進位AND()和二進位OR(|)的真值表:

p q p&q
0 0 0 0
0 1 0 1
1 1 1 1
1 0 0 1

假設有兩個變數“a”和“b”,兩個變數的值分別是:6013。那麼ab的二進位值是:

a= 0011 1100

b= 0000 1101

a&b = 0000 1100

a|b = 0011 1101

~a = 1100 0011
運算符 描述 示例
& 如果二進位AND運算符應用在兩個運算元上,則二進位AND運算符將對該結果複製一位。 (a & b) 將會得到 12也就是 0000 1100
二進位OR運算符如果存在於任一運算元中,則複製一位。 (ab) 將會得到 61也就是 0011 1101
~ 二進位補數運算符是一元的,具有“翻轉”位的作用。 (~a) 將會得到-61 也就是 1100 0011
<< 二進位左移操作符,左運算元值按右運算元指定的位數向左移動。 a << 2 將會得到 240 也就是 1111 0000
>> 二進位右移操作符,左運算元值按右運算元指定的位數向右移動。 a >> 2 將會得到 15 也就是 0000 1111

上一篇: SQLite數據類型 下一篇: SQLite快速入門