PostgreSQL学習ノート5:演算子と式
7538 ワード
演算子
C/C++と同様にpostgreSQLにも演算子があり、一般的な演算子タイプは次のとおりです.演算子 比較演算子 論理演算子 ビット演算子 えんざんし
aは3,bは5
演算子
説明
≪インスタンス|Instance|emdw≫
プラス
減らす
乗ずる
じょきょ
余剰を取る
しすう
平方根
立方根
ステップ乗算(接尾辞オペレータ)
階乗(プレフィックスオペレータ)
例:
比較演算子
aは2,bは3
演算子
説明
≪インスタンス|Instance|emdw≫
=
に等しい
(a=b)はfalse
!=
等しくない
(a!=b)をtureとする
<>
等しくない
(a<>b)はture
>
より大きい
(a>b)はfalse
<
より小さい
(a
>=
以上
(a>=b)はfalse
<=
以下
(a<=b)をtureとする
論理演算子
演算子
説明
AND
論理と演算子、両方のオペランドがゼロでない場合、条件は真です.
NOT
論理非演算子、操作数の真偽値を逆転します.
OR
いずれかのオペランドがゼロでない場合は、条件は真です.
postgreSQLでは、TURE、FALSE、NULLの3値論理システムを採用しています
a
b
a AND b
a OR b
TRUE
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
NULL
NULL
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
NULL
FALSE
NULL
NULL
NULL
NULL
NULL
a
NOT a
TRUE
FALSE
FALSE
TRUE
NULL
NULL
ビット演算子
postgreSQLでは、データがビット操作を行う場合、10進数をバイナリカウントに変換してからビット操作を行う必要があります.
postgreSQLでサポートされているビット演算子には、Aが60、Bが13と仮定した表があります.
演算子
操作
≪インスタンス|Instance|emdw≫
ビットと演算子
ビット単位または演算子
排他演算子
逆演算子
バイナリ左シフト演算子
バイナリ右シフト演算子
式#シキ#
1つ以上の値、演算子、PostgreSQL関数から構成されます.
PostgreSQLの式は、指定した条件の結果セットをクエリーするクエリー文に適用できる式と似ています.
ブール式
ブール式は、指定した条件に基づいてデータを読み込みます.形式は次のとおりです.
たとえば、テーブルprodoctbkで
クエリの結果は次のとおりです.
数値式
数値式は、クエリ文の数学演算によく使用されます.フォーマットは次のとおりです.
postgreSQLには、次のような数学関数が内蔵されています. avg():式の平均値を返します. sum():指定したフィールドの合計を返します. count():クエリーのレコードの合計数を返します.
Productbkを例にとると、クエリーproductbkテーブルのレコードの合計数:
日付式
日付式の戻り値は、現在のシステムの日付と時刻です.様々なデータ操作に使用できます.次の例では、現在の時刻をクエリーします.
C/C++と同様にpostgreSQLにも演算子があり、一般的な演算子タイプは次のとおりです.
aは3,bは5
演算子
説明
≪インスタンス|Instance|emdw≫
+
プラス
a+b
は8-
減らす
a-b
は-2*
乗ずる
a*b
は15/
じょきょ
b/a
は1%
余剰を取る
b%a
は2^
しすう
b^a
は125|/
平方根
|/25.0
の結果は5||/
立方根
||/27.0
の結果は3!
ステップ乗算(接尾辞オペレータ)
5!
は120!!
階乗(プレフィックスオペレータ)
!!5
は120例:
postgres=# select ||/27;
?column?
----------
3
(1 )
比較演算子
aは2,bは3
演算子
説明
≪インスタンス|Instance|emdw≫
=
に等しい
(a=b)はfalse
!=
等しくない
(a!=b)をtureとする
<>
等しくない
(a<>b)はture
>
より大きい
(a>b)はfalse
<
より小さい
(a
>=
以上
(a>=b)はfalse
<=
以下
(a<=b)をtureとする
論理演算子
演算子
説明
AND
論理と演算子、両方のオペランドがゼロでない場合、条件は真です.
NOT
論理非演算子、操作数の真偽値を逆転します.
OR
いずれかのオペランドがゼロでない場合は、条件は真です.
postgreSQLでは、TURE、FALSE、NULLの3値論理システムを採用しています
a
b
a AND b
a OR b
TRUE
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
NULL
NULL
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
NULL
FALSE
NULL
NULL
NULL
NULL
NULL
a
NOT a
TRUE
FALSE
FALSE
TRUE
NULL
NULL
ビット演算子
postgreSQLでは、データがビット操作を行う場合、10進数をバイナリカウントに変換してからビット操作を行う必要があります.
postgreSQLでサポートされているビット演算子には、Aが60、Bが13と仮定した表があります.
演算子
操作
≪インスタンス|Instance|emdw≫
&
ビットと演算子
(A&B)
は12
、バイナリは0000 1100
|
ビット単位または演算子
(A|B)
は61
、バイナリは0011 1101
#
排他演算子
(A#B)
は49
、バイナリは0011 0001
~
逆演算子
(~A)
は-61
、バイナリは1100 0011
、シンボルビット付きバイナリ数符号化<<
バイナリ左シフト演算子
A<<2
は240
、すなわち1111 0000
である>>
バイナリ右シフト演算子
A>>2
は15
、すなわち0000 1111
である式#シキ#
1つ以上の値、演算子、PostgreSQL関数から構成されます.
PostgreSQLの式は、指定した条件の結果セットをクエリーするクエリー文に適用できる式と似ています.
ブール式
ブール式は、指定した条件に基づいてデータを読み込みます.形式は次のとおりです.
SELECT column1,column2,...,columnN
FROM table_name
WHERE SINGLE VALUE MATCHTING EXPRESSION;
たとえば、テーブルprodoctbkで
sale_price
が100の商品を検索します.SELECT *
FROM productbk WHERE sale_price=100;
クエリの結果は次のとおりです.
product_id | product_name | product_type | sale_price | purchase_price | registse__datae
------------+---------------+--------------+------------+----------------+-----------------
8 | | | 100 | | 2009-11-11
(1 )
数値式
数値式は、クエリ文の数学演算によく使用されます.フォーマットは次のとおりです.
SELECT numerical_expression AS OPERATION_NAME
[FROM table_name WHERE CONDITION];
postgreSQLには、次のような数学関数が内蔵されています.
Productbkを例にとると、クエリーproductbkテーブルのレコードの合計数:
shop=# select count(*) as record from productbk;
record
--------
8
(1 )
日付式
日付式の戻り値は、現在のシステムの日付と時刻です.様々なデータ操作に使用できます.次の例では、現在の時刻をクエリーします.
shop=# SELECT CURRENT_TIMESTAMP;
now
-----------------------------
2020-01-12 19:48:31.7982+08
(1 )