演算子
演算子は関数と似ていますが、以下の点で関数と異なります。
- 演算子は通常、名前ではなく、記号によって表されます。
- 演算子は通常、2 つの引数をとります。
- 演算子の引数は通常、演算子記号の右側と左側に配置されます。
次の表では、Netezza Performance ServerSQL オペレータについて説明します。
| オペレーターのタイプ | オペレーター | 記号 | 例 |
|---|---|---|---|
| 2 項算術 | 加算 | + | 3+4 は 7 を返します |
| 減算 | - | 3-4 は -1 を返します |
|
| 乗算 | * | 3*4 は 12 を返します |
|
| 除算 | / | 3/4「0「「 3/4.0「0.750000」を返す。 |
|
| 指数演算 | ^ | 3^4 は 81 を返します |
|
| ** | 3**4 は 81 を返します |
||
| モジュロ | % | 30%4 は 2 を返します |
|
| 単項算術 | プラス | + | +3 は 3 を返します |
| 減算 | - | -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=4 は f (false) を返します |
| 等しくない | <> | 3<>4 は t (true) を返します |
|
| != | 3!=4 は t (true) を返します |
||
| より大きい | > | 3>4 は f (false) を返します |
|
| 以上 | >= | 3>=4 は f (false) を返します |
|
| より小さい | < | 3<4 は t (true) を返します |
|
| 以下 | <= | 3<=4 は t (true) を返します |
Netezza Performance ServerSQLはPostgresで定義されている演算子の優先順位に従っています。 標準の算術演算子では、以下に示す標準的な優先順位が使用されます。
- 指数演算
- 乗算、除算、モジュロ
- 加算および減算
5+7*30%4*2^3/2-1
(5+((((7*30)%4)*(2^3))/2))-1以下の表に、すべての演算子を優先順位の高い順にリストし、さらに各演算子の結合規則をリストします。
| オペレーター | 結合順序 | 説明 |
|---|---|---|
| . | 左側 | 表名または列名の区切り記号 |
| :: | 左側 | 型キャスト (標準 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 | 右側 | 論理否定 |
| および | 左側 | 論理積 |
| または | 左側 | 論理和 |