演算子

演算子は関数と似ていますが、以下の点で関数と異なります。
  • 演算子は通常、名前ではなく、記号によって表されます。
  • 演算子は通常、2 つの引数をとります。
  • 演算子の引数は通常、演算子記号の右側と左側に配置されます。

次の表では、Netezza Performance ServerSQL オペレータについて説明します。

表 1. 演算子
オペレーターのタイプ オペレーター 記号
2 項算術 加算 + 3+47 を返します
減算 - 3-4-1 を返します
乗算 * 3*412 を返します
除算 /
3/40
3/4.00.750000」を返す。
指数演算 ^ 3^481 を返します
** 3**481 を返します
モジュロ % 30%42 を返します
単項算術 プラス + +33 を返します
減算 - -3-3 を返します
因子 ! 3!6 を返します
バイナリー・テキスト 連結 || 'ab'||'ef''abef' を返します
類似 ~~ 'ab'~~'ef'f (false) を返します
いいね 'ab' like 'ef'f (false) を返します
類似していない !~~ 'ab'!~~'ef't (true) を返します
除外 'ab' not like 'ef't (true) を返します
関係 等しい = 3=4f (false) を返します
等しくない <> 3<>4t (true) を返します
!= 3!=4t (true) を返します
より大きい > 3>4f (false) を返します
以上 >= 3>=4f (false) を返します
より小さい < 3<4t (true) を返します
以下 <= 3<=4t (true) を返します
Netezza Performance ServerSQLはPostgresで定義されている演算子の優先順位に従っています。 標準の算術演算子では、以下に示す標準的な優先順位が使用されます。
  1. 指数演算
  2. 乗算、除算、モジュロ
  3. 加算および減算
優先順位が同じ演算子は、左から右へと評価されます。 括弧を使ってこの優先順位を変えることも可能です。 例えば、以下の文は同等です。
5+7*30%4*2^3/2-1
(5+((((7*30)%4)*(2^3))/2))-1
以下の表に、すべての演算子を優先順位の高い順にリストし、さらに各演算子の結合規則をリストします。
表 2. 演算子優先順位
オペレーター 結合順序 説明
. 左側 表名または列名の区切り記号
:: 左側 型キャスト (標準 SQL への PostgreSQL 拡張)
- 右側 単項マイナス
^ 左側 指数演算
* / % 左側 乗算、除算、モジュロ
+ - 左側 加算、減算
IS 左側 IS TRUE、IS FALSE、IS UNKNOWN、IS NULL、IS NOT NULL
ISNULL 左側 null のテスト (標準 SQL への PostgreSQL 拡張)
NOTNULL 左側 非 null のテスト (標準 SQL への PostgreSQL 拡張)
(他のネイティブ演算子) 左側 その他のネイティブ演算子
IN 左側 メンバーシップ設定
BETWEEN 左側 コンテナ
OVERLAPS 左側 時間間隔の重複
~~ または like 左側 ストリング・パターン・マッチ
< <= > >= 左側 小なり、以下、大なり、以上
= != <> 右側 等価、代入、非等価
NOT 右側 論理否定
および 左側 論理積
または 左側 論理和