SQLite運算符
當使用WHERE
子句執行比較和算術運算時需要使用到運算符,SQLite運算符是SQLite語句中使用的保留字或字符。
可以使用運算符來指定條件和SQLite語句中多個條件的連接。
SQLite中主要有4
種類型的運算符:
- 算術運算符
- 比較運算符
- 邏輯運算符
- 按位運算符
SQLite算術運算符
下表指定了SQLite中的算術運算符。 在這個表中,有兩個變量「a
」和「b
」,它們的值分別是50
和100
。
運算符
說明
示例
+
加法運算符:用於將運算符兩側的值相加
a+b = 150
-
減法運算符:用於從左操作數減去右操作數。
a-b = -50
*
乘法運算符:用於將運算符兩邊的操作數相乘。
a*b = 5000
/
除法運算符:它是將左操作數除以右操作數。
a/b = 0.5
%
模數運算符:用於通過左操作數除以右操作數並返回餘數。
b/a = 0
SQLite比較運算符
下表中列出了SQLite中的比較運算符。 在這個表中,有兩個變量「a
」和「b
」,它們的值分別是50
和100
。
運算符
說明
示例
==
它用於檢查兩個操作數的值是否相等,如果是,則條件求值結果爲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 EXISTS
,NOT BETWEEN
,NOT 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
」,兩個變量的值分別是:60
和13
。那麼a
和b
的二進制值是:
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運算符如果存在於任一操作數中,則複製一位。
(a
b) 將會得到 61
也就是 0011 1101
~
二進制補碼運算符是一元的,具有「翻轉」位的作用。
(~a
) 將會得到-61
也就是 1100 0011
<<
二進制左移操作符,左操作數值按右操作數指定的位數向左移動。
a << 2
將會得到 240
也就是 1111 0000
>>
二進制右移操作符,左操作數值按右操作數指定的位數向右移動。
a >> 2
將會得到 15
也就是 0000 1111