PostgreSQL学習ノート5:演算子と式


演算子
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<<2240、すなわち1111 0000である>>
    バイナリ右シフト演算子A>>215、すなわち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には、次のような数学関数が内蔵されています.
  • avg():式の平均値を返します.
  • sum():指定したフィールドの合計を返します.
  • count():クエリーのレコードの合計数を返します.

  • 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    )