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

SQLite 比较运算符

假设变量a为10,变量b为20,那么SQLite比较运算符的使用如下

显示示例

运算符 说明 示例
== 检查两个操作数的值是否相等,如果是则条件成立。 (a == b) is not true.
= 检查两个操作数的值是否相等,如果是则条件为真。 (a = b) is not true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件为真。 (a != b) is true.
<> 检查两个操作数的值是否相等,如果值不相等,则条件为真。 (a <> b) is true.
> 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (a > b) is not true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (a < b) is true.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (a >= b) is not true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 (a <= b) is true.
!< 检查左操作数的值是否不小于右操作数的值,如果是,则条件为真。 (a !< b) is false.
!> 检查左操作数的值是否不大于右操作数的值,如果是,则条件为真。 (a !> b) is true.

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
| 二进制或运算符复制一个位,如果它存在于任一操作数中。 (A | B) 将给出 61 即 0011 1101
~ 二进制补码运算符是一元的,具有"翻转"位的效果。 (~A ) 由于有符号二进制数,将给出 -61,即 1100 0011 的 2 补码形式
<< 二进制左移运算符。 左操作数的值向左移动右操作数指定的位数。 A << 2 将给出 240 即 1111 0000
>> 二进制右移运算符。 左操作数的值向右移动右操作数指定的位数。 A >> 2 将给出 15 即 0000 1111