PostgreSQL - 运算符
PostgreSQL 中的运算符是什么?
运算符是保留字或主要用于 PostgreSQL 语句的 WHERE 子句中的字符,用于执行操作,例如比较和算术运算。
运算符用于在 PostgreSQL 语句中指定条件,并用作语句中多个条件的连接。
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
PostgreSQL 算术运算符
假设变量 a 为 2,变量 b 为 3,则 −
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 - 在运算符的任一侧添加值 | a + b 将给出 5 |
- | 减法 - 从左手操作数中减去右手操作数 | a - b 将给出 -1 |
* | 乘法 - 将运算符两侧的值相乘 | a * b 将给出 6 |
/ | 除法 - 将左手操作数除以右手操作数 | b / a 将给出 1 |
% | 模数 - 左手操作数除以右手操作数并返回余数 | b % a 将给出 1 |
^ | 求幂 - 这给出了右手操作数的指数值 | a ^ b 将给出 8 |
|/ | 平方根 | |/ 25.0 将给出 5 |
||/ | 立方体根 | ||/ 27.0 将给出 3 |
! | 阶乘 | 5 ! 将给出 120 |
!! | 阶乘(前缀运算符) | !! 5 factorial 120 |
PostgreSQL 比较运算符
假设变量 a 为 10,变量 b 为 20,则 −
运算符 | 描述 | 示例 |
---|---|---|
= | 检查两个操作数的值是否相等,如果是则条件为真。 | (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. |
PostgreSQL 逻辑运算符
这是 PostgresSQL 中可用的所有逻辑运算符的列表。
S. No. | Operator & Description |
---|---|
1 | AND AND 运算符允许在 PostgresSQL 语句的 WHERE 子句中存在多个条件。 |
2 | NOT NOT 运算符反转使用它的逻辑运算符的含义。 例如。 NOT EXISTS、NOT BETWEEN、NOT IN 等。这是否定运算符。 |
3 | OR OR 运算符用于组合 PostgresSQL 语句的 WHERE 子句中的多个条件。 |
PostgreSQL 位串运算符
位运算符对位起作用并执行逐位运算。 The truth table for & and | is as follows −
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 即 0000 1100 |
| | 如果二进制或运算符存在于任一操作数中,则复制一个位。 | (A | B) 将给出 61 即 0011 1101 |
~ | 二进制补码运算符是一元的,具有“翻转”位的效果。 | (~A )由于有符号二进制数,将给出 -61,即 1100 0011 的 2 补码形式。 |
<< | 二进制左移运算符。 左操作数的值向左移动右操作数指定的位数。 | A << 2 将给出 240 即 1111 0000 |
>> | 二进制右移运算符。 左操作数的值向右移动右操作数指定的位数。 | A >> 2 将给出 15 即 0000 1111 |
# | 按位异或。 | A # B 将给出 49 即 00110001 |