SQLite 运算符

2024年11月19日 SQLite 运算符 极客笔记

SQLite 运算符

SQLite运算符是在SQLite语句中用于使用WHERE子句进行比较和算术运算等操作时使用的保留字或字符。

运算符可用于指定条件,并且可用作SQLite语句中多个条件的连接词。

SQLite中主要有4种类型的运算符:

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

SQLite算术运算符

以下表格指定了SQLite中的不同算术运算符。在此表格中,我们有两个变量”a”和”b”,其值分别为50和100。

操作符 描述 示例
+ 加法操作符:用于将操作符两侧的值相加。 a+b = 150
- 减法操作符:用于从左操作数中减去右操作数。 a-b = -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 NOT IN操作符是IN操作符的否定形式,用于将一个值与指定的多个字面值进行比较。
LIKE LIKE操作符用于使用通配符操作符比较一个值与相似的值。
GLOB GLOB操作符用于使用通配符操作符比较一个值与相似的值。此外,glob是区分大小写的,不像like。
NOT NOT操作符反转其所用的逻辑操作符的含义。例如:EXISTS,NOT BETWEEN,NOT IN等。这些被称为否定操作符。
OR OR操作符用于组合SQL语句的WHERE子句中的多个条件。
IS NULL NULL操作符用于将一个值与null值进行比较。
IS IS操作符的工作方式类似于=。
IS NOT IS NOT操作符的工作方式类似于!=。
|| 此操作符用于将两个不同的字符串相加并生成一个新的字符串。
UNIQUE UNIQUE操作符在指定表的每行中搜索唯一性(无重复项)。

SQLite位运算符

SQLite位运算符对位进行操作,逐位执行操作。

查看二进制AND(&)和二进制OR(|)的真值表:

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的二进制值分别为:

a = 0011 1100

b = 0000 1101

a&b = 0000 1100

a|b = 0011 1101

~a = 1100 0011

运算符 描述 示例
& 二进制与运算符,如果位在两个操作数中都存在,则将其复制到结果中。 (a & b) 会得到12,即0000 1100
| 二进制或运算符,如果位在任一操作数中存在,则将其复制到结果中。 (a | b) 会得到61,即0011 1101
~ 二进制反码运算符,它是一元运算符,将位进行“翻转”。 (~a) 会得到-61,即1100 0011,这是由于用补码表示的有符号二进制数字。
<< 二进制左移运算符,左操作数的值被右操作数指定的位数左移。 a << 2 会得到240,即1111 0000
>> 二进制右移运算符,左操作数的值被右操作数指定的位数右移。 a >> 2 会得到15,即0000 1111

本文链接:http://so.lmcjl.com/news/18162/

展开阅读全文