SQLite 运算符
SQLite 运算符是在我们使用 WHERE 子句执行比较和算术运算等操作时,SQLite 语句中使用的保留字或字符。
运算符可用于指定条件并作为 SQLite 语句中多个条件的连接。
SQLite 中主要有 4 种运算符:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 按位运算符
SQLite 算术运算符
下表指定了 SQLite 中不同的算术运算符。在此表中,我们有两个变量“a”和“b”,其值分别为 50 和 100。
操作符 | 描述 | 例子 |
---|---|---|
+ | 加法运算符:用于将运算符两边的值相加。 | a+b = 150 |
- | 减法运算符:用于从左手操作数中减去右手操作数。 | AB = -50 |
* | 乘法运算符:用于将两边的值相乘。 | a*b = 5000 |
/ | 除法运算符:用于将左手操作数除以右手操作数。 | a/b = 0.5 |
% | 模数运算符:用于将左手操作数除以右手操作数并返回余数。 | b/a = 0 |
SQLite 比较运算符
下表指定了 SQLite 中不同的比较运算符。在此表中,我们有两个变量“a”和“b”,其值分别为 50 和 100。
操作符 | 描述 | 例子 |
---|---|---|
== | 它用于检查两个操作数的值是否相等,如果是则条件为真。 | (a == b) 不正确。 |
= | 它用于检查两个操作数的值是否相等,如果是则条件为真。 | (a = b) 不正确。 |
!= | 它用于检查两个操作数的值是否相等,如果值不相等则条件为真。 | (a != b) 是真的。 |
<> | 它用于检查两个操作数的值是否相等,如果值不相等则条件为真。 | (a <> b) 是真的。 |
> | 它用于检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (a > b) 不正确。 |
< | 它用于检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (a < b) 为真。 |
>= | 它用于检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (a >= b) 是不正确的。 |
<= | 它用于检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (a <= b) 为真。 |
!< | 它用于检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 | (a !< b) 是错误的。 |
!> | 它用于检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 | (a !> b) 是真的。 |
SQLite 逻辑运算符
以下是 SQLite 中的逻辑运算符列表:
操作符 | 描述 |
---|---|
AND | AND 运算符允许在 SQL 语句的 WHERE 子句中存在多个条件。 |
BETWEEN | BETWEEN 运算符用于在给定最小值和最大值的情况下搜索一组值内的值。 |
EXISTS | EXISTS 运算符用于搜索指定表中是否存在满足特定条件的行。 |
IN | IN 运算符用于将值与已指定的文字值列表进行比较。 |
NOT IN | 它是 IN 运算符的否定,用于将值与已指定的文字值列表进行比较。 |
LIKE | LIKE 运算符用于使用通配符运算符将值与相似值进行比较。 |
GLOB | GLOB 运算符用于使用通配符运算符将值与相似值进行比较。此外,与 like 不同,glob 区分大小写。 |
NOT | NOT 运算符反转与它一起使用的逻辑运算符的含义。例如:EXISTS、NOT BETWEEN、NOT IN 等。这些被称为否定运算符。 |
OR | OR 运算符用于在 SQL 语句的 where 子句中组合多个条件。 |
IS NULL | NULL 运算符用于将值与空值进行比较。 |
IS | IS 运算符的工作方式类似于 = |
IS NOT | IS NOT 运算符的工作方式类似于 != |
|| | 此运算符用于添加两个不同的字符串并创建一个新字符串。 |
UNIQUE | UNIQUE 运算符在指定表的每一行中搜索唯一性(无重复)。 |
SQLite 位运算符
SQLite 按位运算符对位进行操作并逐位执行操作。
查看二进制与 (&) 和二进制或 (|) 的真值表:
p | q | 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 的二进制值是:
一= 0011 1100
b= 0000 1101
a&b = 0000 1100
a|b = 0011 1101
~a = 1100 0011
操作符 | 描述 | 例子 |
---|---|---|
& | 如果两个操作数中都存在,则二进制 AND 运算符会将其复制到结果中。 | (a & b) 将给出 12 即 0000 1100 |
| | 二进制或运算符复制位,如果它存在于任一操作数中。 | (a | b) 将给出 61 即 0011 1101 |
~ | 二进制补码运算符是一元的,具有“翻转”位的效果。 | 由于有符号二进制数,(~a) 将给出 -61,即 2 的补码形式的 1100 0011。 |
<< | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 | a << 2 将给出 240,即 1111 0000 |
>> | 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 | a >> 2 将给出 15,即 0000 1111 |
热门文章
优秀文章