📜  PostgreSQL-运算符

📅  最后修改于: 2020-11-26 06:19:42             🧑  作者: Mango


PostgreSQL中的运算符是什么?

运算符是保留字或字符,主要用于PostgreSQL语句的WHERE子句中以执行操作,例如比较和算术运算。

运算符用于指定PostgreSQL语句中的条件,并用作语句中多个条件的结合。

  • 算术运算运算符
  • 运算符
  • 逻辑运算符
  • 按位运算符

PostgreSQL算术运算符

假设变量a持有2,变量b持有3,则-

Operator Description Example
+ Addition – Adds values on either side of the operator a + b will give 5
Subtraction – Subtracts right hand operand from left hand operand a – b will give -1
* Multiplication – Multiplies values on either side of the operator a * b will give 6
/ Division – Divides left hand operand by right hand operand b / a will give 1
% Modulus – Divides left hand operand by right hand operand and returns remainder b % a will give 1
^ Exponentiation – This gives the exponent value of the right hand operand a ^ b will give 8
|/ square root |/ 25.0 will give 5
||/ Cube root ||/ 27.0 will give 3
! factorial 5 ! will give 120
!! factorial (prefix operator) !! 5 will give 120

PostgreSQL比较运算符

假设变量a持有10,变量b持有20,则-

显示范例

Operator Description Example
= Checks if the values of two operands are equal or not, if yes then condition becomes true. (a = b) is not true.
!= Checks if the values of two operands are equal or not, if values are not equal then condition becomes true. (a != b) is true.
<> Checks if the values of two operands are equal or not, if values are not equal then condition becomes true. (a <> b) is true.
> Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true. (a > b) is not true.
< Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true. (a < b) is true.
>= Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true. (a >= b) is not true.
<= Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true. (a <= b) is true.

PostgreSQL逻辑运算符

这是PostgresSQL中可用的所有逻辑运算符的列表。

显示范例

S. No. Operator & Description
1

AND

The AND operator allows the existence of multiple conditions in a PostgresSQL statement’s WHERE clause.

2

NOT

The NOT operator reverses the meaning of the logical operator with which it is used. Eg. NOT EXISTS, NOT BETWEEN, NOT IN etc. This is negate operator.

3

OR

The OR operator is used to combine multiple conditions in a PostgresSQL statement’s WHERE clause.

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支持的按位运算符-

Operator Description Example
& Binary AND Operator copies a bit to the result if it exists in both operands. (A & B) will give 12 which is 0000 1100
| Binary OR Operator copies a bit if it exists in either operand. (A | B) will give 61 which is 0011 1101
~ Binary Ones Complement Operator is unary and has the effect of ‘flipping’ bits. (~A ) will give -61 which is 1100 0011 in 2’s complement form due to a signed binary number.
<< Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. A << 2 will give 240 which is 1111 0000
>> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. A >> 2 will give 15 which is 0000 1111
# bitwise XOR. A # B will give 49 which is 0100 1001