PostgreSQL 运算符
PostgreSQL中的运算符是什么
运算符是在PostgreSQL语句的WHERE子句中使用的保留字或字符,用于执行比较和算术操作等操作。
运算符用于指定PostgreSQL语句中的条件,并用作语句中多个条件的连接词。
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
PostgreSQL算术运算符
假设变量 a 值为2,变量 b 值为3,那么 –
示例
运算符 | 描述 | 示例 |
---|---|---|
+ |
Addition – 在运算符的两侧添加值 | a + b 将得到 5 |
- |
Subtraction – 从左操作数减去右操作数 | a - b 将得到 -1 |
* |
Multiplication – 乘以运算符两侧的值 | a * b 将得到 6 |
/ |
Division – 将左操作数除以右操作数 | b / a 将得到 1 |
% |
Modulus – 将左操作数除以右操作数并返回余数 | b % a 将得到 1 |
^ |
Exponentiation – 这返回右操作数的指数值 | a ^ b 将得到 8 |
|/ |
平方根 | |/ 25.0 将得到 5 |
||/ |
立方根 | ||/ 27.0 将得到 3 |
! |
阶乘 | 5! 将得到 120 |
!! |
阶乘(前缀操作符) | !!5 将得到 120 |
PostgreSQL比较运算符
假设变量a的值为10,变量b的值为20,那么 –
示例展示
运算符 | 描述 | 示例 |
---|---|---|
= |
检查两个操作数的值是否相等,如果是,则条件为真。 | (a = b) 不是真的。 |
!= |
检查两个操作数的值是否相等,如果不相等,则条件为真。 | (a != b) 是真的。 |
<> |
检查两个操作数的值是否相等,如果不相等,则条件为真。 | (a <> b) 是真的。 |
> |
检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 | (a > b) 不是真的。 |
< |
检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 | (a < b) 是真的。 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 | (a >= b) 不是真的。 |
<= |
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 | (a <= b) 是真的。 |
PostgreSQL逻辑运算符
以下是PostgresSQL中可用的所有逻辑运算符的列表。
显示示例
序号 | 运算符及描述 |
---|---|
1 | 与 AND运算符允许在PostgresSQL语句的WHERE子句中存在多个条件。 |
2 | 非 NOT运算符将其使用的逻辑运算符的含义颠倒。例如NOT EXISTS,NOT BETWEEN,NOT IN等。 这是一个否定运算符 。 |
3 | 或 OR运算符用于在PostgresSQL语句的WHERE子句中组合多个条件。 |
PostgreSQL 位字符串操作符
位运算符作用于位,并进行位逐位的操作。 & 和 | 的真值表如下所示−
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
显示示例
PostgreSQL支持的按位运算符列在以下表中−
操作符 | 描述 | 例子 |
---|---|---|
& |
二进制AND操作符将位中存在于两个操作数的结果中。 | (A & B) 将得到12,即00001100 |
| |
二进制OR操作符将位中存在于任一操作数的结果中。 | (A | B) 将得到61,即00111101 |
~ |
二进制Ones Complement操作符是一元操作符,可以翻转位。 | (~A) 将得到-61,即11000011,这是因为有符号二进制数的2的补码形式。 |
<< |
二进制左移操作符。将左操作数的值向左移动右操作数指定的位数。 | A << 2 将得到240,即11110000 |
>> |
二进制右移操作符。将左操作数的值向右移动右操作数指定的位数。 | A >> 2 将得到15,即00001111 |
# |
按位异或。 | A # B 将得到49,即00110001 |