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算术运算符将像下面一样使用:
操作符 | 描述 | 例子 |
---|---|---|
== | 检查两个操作数的值是否相等,如果相等,则返回ture。 | (a == b) 返回false. |
= | 检查两个操作数的值是否相等,如果相等,则返回真。 | (a = b) 返回false. |
!= | 检查两个操作数的值是否相等,如果不相等,则返回真。 | (a != b)返回true. |
<> | 检查两个操作数的值是否相等,如果不相等,则返回真。 | (a <> b)返回true. |
> | 检查左操作数的值是否大于右操作数的值,如果是则返回真。 | (a > b) 返回false. |
< | 检查左操作数的值是否小于右操作数的值,如果是则返回真。 | (a < b) 返回true. |
>= | 检查左操作数的值是否大于等于右操作数的值,如果是则返回真。 | (a >= b) 返回false. |
<= | 检查左操作数的值是否小于等于右操作数的值,如果是则返回真。 | (a <= b) 返回true. |
!< | 检查左操作数的值是否不小于右操作数的值,如果返回true。 | (a !< b)返回false. |
!> | 检查左操作数的值是否不大于右操作数的值,如果是,则条件变为真。 | (a !> b) 返回true. |
SQLite 逻辑运算符
以下是SQLite中可用的所有逻辑运算符的列表。
1.AND:AND运算符允许在SQL语句的WHERE子句中存在多个条件。
2.BETWEEN:BETWEEN运算符用于在给定最小值和最大值的情况下搜索一组值内的值。
3.EXISTS:The EXISTS operator is used to search for the presence of a row in a specified table that meets certain criteria.
4.IN:IN运算符用于将值与指定的值列表进行比较。
5.NOT IN:IN运算符的否定,用于将值与指定的值列表进行比较。
6.LIKE:LIKE运算符用于使用通配符运算符将值与类似值进行比较。
7.GLOB:GLOB运算符用于使用通配符运算符将值与类似值进行比较。而且,GLOB区分大小写,不像LIKE.。
8.NOT:NOT运算符颠倒了使用它的逻辑运算符的含义。不存在、不在、不在等。这是否定运算符。
9.OR:OR运算符用于组合SQL语句的WHERE子句中的多个条件。
10.IS NULL:NULL运算符用于将值与NULL值进行比较。
11.IS:IS运算符的意义跟=相同
12.IS NOT:IS NOT运算符的意义跟!=相同
13.||:添加两个不同的字符串并创建新字符串。
14.UNIQUE:UNIQUE运算符在指定表的每一行中搜索唯一性(不重复)。
SQLite 位运算符
位运算符处理位,并执行逐位操作。以下是& and |的真值表:
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,由于有符号二进制数,它是2补码形式的1100 0011 |
<< | 二进制左移运算符。左操作数值向左移动右操作数指定的位数。 | a << 2将给出240,即1111 0000 |
>> | 二进制右移运算符。左操作数值向右移动右操作数指定的位数。 | a >> 2将给出15,即0000 1111 |