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 將得到 120

PostgreSQL 比較運算子

假設變數 a 為 10,變數 b 為 20,則:

顯示示例

運算子 描述 示例
= 檢查兩個運算元的值是否相等,如果相等,則條件為真。 (a = b) 為假。
!= 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 (a != b) 為真。
<> 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 (a <> b) 為真。
> 檢查左運算元的值是否大於右運算元的值,如果大於,則條件為真。 (a > b) 為假。
< 檢查左運算元的值是否小於右運算元的值,如果小於,則條件為真。 (a < b) 為真。
>= 檢查左運算元的值是否大於或等於右運算元的值,如果大於或等於,則條件為真。 (a >= b) 為假。
<= 檢查左運算元的值是否小於或等於右運算元的值,如果小於或等於,則條件為真。 (a <= b) 為真。

PostgreSQL 邏輯運算子

以下是 PostgreSQL 中所有可用邏輯運算子的列表。

顯示示例

序號 運算子和描述
1

AND

AND 運算子允許在 PostgreSQL 語句的 WHERE 子句中存在多個條件。

2

NOT

NOT 運算子反轉與其一起使用的邏輯運算子的含義。例如 NOT EXISTS、NOT BETWEEN、NOT IN 等。這是否定運算子

3

OR

OR 運算子用於組合 PostgreSQL 語句 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,即 0000 1100
| 二進位制 OR 運算子複製如果它存在於任一運算元中則將位複製到結果中。 (A | B) 將得到 61,即 0011 1101
~ 二進位制一補運算子是一元的,其作用是“翻轉”位。 (~A ) 將得到 -61,由於帶符號二進位制數,在二進位制補碼形式下為 1100 0011。
<< 二進位制左移運算子。左運算元的值將向左移動由右運算元指定的位數。 A << 2 將得到 240,即 1111 0000
>> 二進位制右移運算子。左運算元的值將向右移動由右運算元指定的位數。 A >> 2 將得到 15,即 0000 1111
# 按位異或。 A # B 將得到 49,即 00110001
廣告
© . All rights reserved.