メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

複合式

複合式は、一連の単純式が算術演算子によって結合されたものです。複合式内で使用される単純式は、数値を返す必要があります。

構文

Copy
expression operator expression | (compound_expression)

引数

expression

評価して値を返す単純式。

operator

複合演算式は、以下の演算子 (優先順位は列記順) を使用して作成することができます。

  • ( ) : 評価の順番を制御する括弧

  • + , - : 正および負の符号/演算子

  • ^ , |/ , ||/ : 指数、平方根、立方根

  • * , / , % : 乗算演算子、除算演算子、モジュロ演算子

  • @ : 絶対値

  • + , - : 加算および減算

  • & , |, #, ~, <<, >> : AND、OR、XOR、NOT、左シフト、右シフトのビット演算子

  • ||: 連結

(compound_expression)

複合式は括弧を使用して入れ子にすることができます。

複合式の例を以下に示します。

Copy
('SMITH' || 'JONES') sum(x) / y sqrt(256) * avg(column) rank() over (order by qtysold) / 100 (select (pricepaid - commission) from sales where dateid = 1882) * (qtysold)

また、一部の関数は、他の関数内に入れ子にすることができます。例えば、任意のスカラー関数を別のスカラー関数内に入れ子にすることができます。次の例では、一連の数の絶対値の合計を返します。

Copy
sum(abs(qtysold))

ウィンドウ関数は、集計関数または他のウィンドウ関数の引数として使用できません。次の式は、エラーを返すことになります。

Copy
avg(rank() over (order by qtysold))

ウィンドウ関数には入れ子にした集計関数を含めることができます。次の式は、値セットの合計を出し、ランク付けします。

Copy
rank() over (order by sum(qtysold))

このページの内容: