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

Learn SQL in-depth with real-world projects through our SQL certification course. Enroll and become a certified expert to boost your career.

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
广告