Sqlite 简明教程
SQLite - Operators
What is an Operator in SQLite?
运算符是保留字或字符,主要用于 SQLite 语句的 WHERE 子句中,用于执行操作(例如比较和算术运算)。
运算符用于指定 SQLite 语句中的条件,并作为语句中多个条件的连接词。
-
Arithmetic operators
-
Comparison operators
-
Logical operators
-
Bitwise operators
SQLite Arithmetic Operators
假设变量 a 保存 10 而变量 b 保存 20,那么 SQLite 算术运算符将按如下方式使用 −
Operator |
Description |
Example |
+ (Addition) |
添加运算符两侧的值 |
a + b 将得到 30 |
- (Subtraction) |
从左操作数减去右操作数 |
a - b 将得到 -10 |
* (Multiplication) |
乘以运算符两侧的值 |
a * b 将得到 200 |
/ (Division) |
将左操作数除以右操作数 |
b / a 将得到 2 |
% (Modulus) |
将左操作数除以右操作数并返回余数 |
b % a 将得到 0 |
SQLite Comparison Operators
假设变量 a 保存 10 而变量 b 保存 20,那么 SQLite 比较运算符将按如下方式使用
Operator |
Description |
Example |
== |
检查两个操作数的值是否相等,如果相等则条件为真。 |
(a == b)为 false。 |
= |
检查两个操作数的值是否相等,如果相等则条件为真。 |
(a = b) 不为真。 |
!= |
检查两个操作数的值是否相等,如果不相等,则条件为真。 |
(a != b) 为 true。 |
<> |
检查两个操作数的值是否相等,如果不相等,则条件为真。 |
(a <> b) 为真。 |
> |
检查左操作数的值是否大于右操作数的值,如果大于,则条件为真。 |
(a > b) 为 false。 |
< |
检查左操作数的值是否小于右操作数的值,如果小于,则条件为真。 |
(a < b) 为 true。 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果大于或等于,则条件为真。 |
(a >= b) 为 false。 |
⇐ |
检查左操作数的值是否小于或等于右操作数的值,如果小于或等于,则条件为真。 |
(a ⇐ b) 为 true。 |
!< |
检查左操作数的值是否不小于右操作数的值,如果不小于,则条件为真。 |
(a !< b) 为假。 |
!> |
检查左操作数的值是否不大于右操作数的值,如果不大于,则条件为真。 |
(a !> b) 为真。 |
SQLite Logical Operators
下面是 SQLite 中提供的所有逻辑运算符的列表。
Sr.No. |
Operator & Description |
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 等。 This is negate operator. |
9 |
OR OR 运算符用于组合 SQL 语句 WHERE 子句中的多个条件。 |
10 |
IS NULL NULL 运算符用于将一个值与 NULL 值进行比较。 |
11 |
IS IS 运算符的工作方式类似于 = |
12 |
IS NOT IS 运算符的工作方式类似于 != |
13 |
* |
* 将两个不同的字符串相加并生成一个新字符串。 |
|
14 |
UNIQUE UNIQUE 操作符搜索指定表的每行以查找唯一性(没有重复项)。 |
SQLite Bitwise Operators
按位运算符对位进行操作,并执行按位运算。以下是 & 和 | 的真值表。
p |
q |
p & |
p |
q |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
假设如果 A = 60;且 B = 13,那么在二进制格式中,它们如下所示 −
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 A|B = 0011 1101 ~A = 1100 0011 The Bitwise operators supported by SQLite language are listed in the following table. Assume variable *A* holds 60 and variable *B* holds 13, then − link:../sqlite/sqlite_bitwise_operators.html[Show Examples] [%autowidth] |=== |Operator|Description|Example |&|Binary AND Operator copies a bit to the result, if it exists in both operands.|(A & B) will give 12 which is 0000 1100 |||Binary OR Operator copies a bit, if it exists in either operand.|(A | B) will give 61 which is 0011 1101 |~|Binary Ones Complement Operator is unary and has the effect of 'flipping' bits.|(~A ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number |<<|Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand.|A << 2 will give 240 which is 1111 0000 |>>|Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand.|A >> 2 will give 15 which is 0000 1111 |===