Expressões compostas - Amazon Redshift

Expressões compostas

Uma expressão composta é uma série de expressões simples juntadas por operadores aritméticos. Uma expressão simples usada em uma expressão composta deve retornar um valor numérico.

Sintaxe

expression operator expression | (compound_expression)

Argumentos

expressão

Uma expressão simples que avalia para um valor.

operador

Uma expressão aritmética composta pode ser construída usando os seguintes operadores, nesta ordem de precedência:

  • ( ) : parênteses para controlar a ordem de avaliação

  • + , - : sinal/operador positivo e negativo

  • ^ , |/ , ||/ : potenciação, raiz quadrada, raiz cúbica

  • * , / , % : multiplicação, divisão e operadores de módulo

  • @ : valor absoluto

  • + , - : adição e subtração

  • & , |, #, ~, <<, >> : AND, OR, NOT, shift esquerda, shift direita

  • ||: concatenação

(compound_expression)

Expressões compostas podem ser aninhadas usando parênteses.

Exemplos

Exemplos de expressões compostas incluem o seguinte:

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

Algumas funções também podem ser aninhadas em outras funções. Por exemplo, qualquer função escalar pode aninhar-se em outra função escalar. O seguinte exemplo retorna a soma dos valores absolutos de um conjunto de números:

sum(abs(qtysold))

Funções da janela não podem ser usadas como argumentos para funções agregadas ou outras funções da janela. A seguinte expressão retornaria um erro:

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

Funções da janela podem ter uma função agregada aninhada. A seguinte expressão soma conjuntos de valores e depois os classifica:

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