當使用WHERE子句執(zhí)行比較和算術(shù)運算時需要使用到運算符,SQLite運算符是SQLite語句中使用的保留字或字符。
可以使用運算符來指定條件和SQLite語句中多個條件的連接。
SQLite中主要有4種類型的運算符:
下表指定了SQLite中的算術(shù)運算符。 在這個表中,有兩個變量“a”和“b”,它們的值分別是50和100。
| 運算符 | 說明 | 示例 |
|---|---|---|
+ |
加法運算符:用于將運算符兩側(cè)的值相加 | a+b = 150 |
- |
減法運算符:用于從左操作數(shù)減去右操作數(shù)。 | a-b = -50 |
* |
乘法運算符:用于將運算符兩邊的操作數(shù)相乘。 | a*b = 5000 |
/ |
除法運算符:它是將左操作數(shù)除以右操作數(shù)。 | a/b = 0.5 |
% |
模數(shù)運算符:用于通過左操作數(shù)除以右操作數(shù)并返回余數(shù)。 | b/a = 0 |
下表中列出了SQLite中的比較運算符。 在這個表中,有兩個變量“a”和“b”,它們的值分別是50和100。
| 運算符 | 說明 | 示例 |
|---|---|---|
== |
它用于檢查兩個操作數(shù)的值是否相等,如果是,則條件求值結(jié)果為true,否則返回false。 |
(a == b)的結(jié)果為false。 |
= |
它用于檢查兩個操作數(shù)的值是否相等,如果是,則條件求值結(jié)果為true,否則返回false。 |
(a = b)的結(jié)果為false。 |
!= |
它用于檢查兩個操作數(shù)的值是否相等,如果兩個值不相等則條件求值結(jié)果為true。 |
(a != b)的結(jié)果為true。 |
<> |
它用于檢查兩個操作數(shù)的值是否相等,如果兩個值不相等則條件求值結(jié)果為true。 |
(a <> b)的結(jié)果為true。 |
> |
它用于檢查左操作數(shù)的值是否大于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a > b)結(jié)果為false |
< |
它用于檢查左操作數(shù)的值是否小于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a < b)結(jié)果為true |
>= |
用于檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a >= b)結(jié)果為false |
<= |
它用于檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a <= b)結(jié)果為true |
!< |
它用于檢查左操作數(shù)的值是否不小于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a !< b)結(jié)果為false |
!> |
它用于檢查左操作數(shù)的值是否不大于右操作數(shù)的值,如果是,則條件求值結(jié)果為true。 |
(a !> b)結(jié)果為true |
以下是SQLite中的邏輯運算符列表:
| 運算符 | 說明 |
|---|---|
| AND | AND運算符允許在SQL語句WHERE子句中存在(或使用)多個條件。 |
| BETWEEN | BETWEEN運算符用于搜索位于給定最小值和最大值的范圍內(nèi)的值。 |
| EXISTS | EXISTS運算符用于搜索符合特定條件的指定表中的行的存在。 |
| IN | IN運算符用于將值與已指定的文字值列表中的值進行比較。 |
| NOT IN | IN運算符用于將值與指定的文字值列表中的值進行比較的否定。 |
| LIKE | LIKE運算符用于使用通配符運算符將值與類似值進行比較。 |
| GLOB | GLOB運算符用于使用通配符運算符將值與類似值進行比較。 此外,glob是區(qū)分大小寫的,這點不同于like操作符。 |
| NOT | NOT運算符反轉(zhuǎn)使用它的邏輯運算符的含義。 例如:NOT EXISTS,NOT BETWEEN,NOT IN等。這些被稱為否定運算符。 |
| OR | OR運算符用于組合SQL語句where子句中的多個條件。 |
| IS NULL | NULL運算符用于將值與空(null)值進行比較。 |
| IS | IS運算符工作類似于=運算符 |
| IS NOT | IS NOT操作符類似于!=運算符 |
![]() |
該運算符用于將運算符兩側(cè)的兩個不同的字符串連接創(chuàng)建為一個新的字符串。 |
| UNIQUE | UNIQUE運算符搜索指定表的每一行記錄的唯一性(值不重復)。 |
SQLite位運算符工作在位上并執(zhí)行逐位操作。
下面是二進制AND(&)和二進制OR(|)的真值表:
| p | q | p&q | ![]() |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
假設(shè)有兩個變量“a”和“b”,兩個變量的值分別是:60和13。那么a和b的二進制值是:
a= 0011 1100
b= 0000 1101
a&b = 0000 1100
a|b = 0011 1101
~a = 1100 0011
| 運算符 | 描述 | 示例 |
|---|---|---|
| & | 如果二進制AND運算符應(yīng)用在兩個操作數(shù)上,則二進制AND運算符將對該結(jié)果復制一位。 | (a & b) 將會得到 12也就是 0000 1100 |
![]() |
二進制OR運算符如果存在于任一操作數(shù)中,則復制一位。 | (a b) 將會得到 61也就是 0011 1101 |
| ~ | 二進制補碼運算符是一元的,具有“翻轉(zhuǎn)”位的作用。 | (~a) 將會得到-61 也就是 1100 0011 |
| << | 二進制左移操作符,左操作數(shù)值按右操作數(shù)指定的位數(shù)向左移動。 | a << 2 將會得到 240 也就是 1111 0000 |
| >> | 二進制右移操作符,左操作數(shù)值按右操作數(shù)指定的位數(shù)向右移動。 | a >> 2 將會得到 15 也就是 0000 1111 |