Expresiones compuestas - Amazon Redshift

Expresiones compuestas

Una expresión compuesta es una serie de expresiones simples combinadas por operadores aritméticos. Una expresión simple utilizada en una expresión compuesta debe devolver un valor numérico.

Sintaxis

expression operator expression | (compound_expression)

Argumentos

expresión

Una expresión simple que toma el valor de un valor.

operador

Una expresión aritmética compuesta que se puede construir a través de los siguientes operadores, en este orden de prioridad:

  • ( ) : paréntesis para controlar el orden de evaluación

  • + , - : operador/signo de positivo y negativo

  • ^ , |/ , ||/ : potencia, raíz cuadrada, raíz cúbica

  • * , / , % : operadores de multiplicación, división y módulo

  • @ : valor absoluto

  • + , - : suma y resta

  • Operadores & , |, #, ~, <<, >> : AND, OR, NOT, cambio bit a bit hacia la derecha y cambio bit a bit hacia la izquierda

  • ||: concatenación

(compound_expression) (expresión_compuesta)

Las expresiones compuestas pueden anidarse a través del uso de paréntesis.

Ejemplos

Algunos ejemplos de expresiones compuestas incluyen los siguientes.

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

Algunas funciones también pueden anidarse dentro de otras funciones. Por ejemplo, cualquier función escalar puede anidarse dentro de otra función escalar. En el siguiente ejemplo se devuelve la suma de los valores absolutos de un conjunto de números:

sum(abs(qtysold))

Las funciones de ventana no pueden utilizarse como argumentos para las funciones de agregación o para otras funciones de ventana. La siguiente expresión devolvería un error:

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

Las funciones de ventana pueden tener una función de agregación anidada. La siguiente expresión suma conjuntos de valores y, luego, los clasifica:

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