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を保持すると仮定すると、−

例を表示

オペレーター 説明
= 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 (a = b)は真ではありません。
!= 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。 (a!= b)は真です。
<> 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。 (a <> b)は真です。
>> 左のオペランドの値が右のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 (a> b)は正しくありません。
< 左のオペランドの値が右のオペランドの値よりも小さいかどうかを確認します。小さい場合は、条件が真になります。 (a <b)は真です。
> = 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックします。はいの場合、条件は真になります。 (a> = b)は正しくありません。
<= 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックします。はいの場合、条件は真になります。 (a <= b)は真です。

PostgreSQL論理演算子

これは、PostgresSQLで使用可能なすべての論理演算子のリストです。

例を表示

S.いいえ。 オペレーターと説明
1

AND

AND演算子を使用すると、PostgresSQLステートメントのWHERE句に複数の条件を含めることができます。

2

NOT

NOT演算子は、使用される論理演算子の意味を逆にします。例えば。存在しない、間、ないなど。This is negate operator

3

OR

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)は00001100である12を与えます
| バイナリOR演算子は、いずれかのオペランドに存在する場合、ビットをコピーします。 (A | B)は611 1101である61を与えます
Binary Ones Complement Operatorは単項であり、ビットを「反転」させる効果があります。 (〜A)は、符号付き2進数のため、2の補数形式で11000011である-61を返します。
<< バイナリ左シフト演算子。左のオペランドの値は、右のオペランドで指定されたビット数だけ左に移動します。 << 2は、11110000である240を与えます
>> バイナリ右シフト演算子。左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。 >> 2は、00001111である15を与えます
ビットごとのXOR。 A#Bは01001001である49を与えます