

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Espressioni composte
<a name="r_compound_expressions"></a>

Un'espressione composta è una serie di espressioni semplici unite da operatori aritmetici. È necessario che un'espressione semplice usata in un'espressione composta restituisca un valore numerico.

## Sintassi
<a name="r_compound_expressions-synopsis"></a>

```
expression 
operator 
expression | (compound_expression)
```

## Arguments (Argomenti)
<a name="r_compound_expressions-arguments"></a>

 *espressione*   
Un'espressione semplice che restituisce un valore.

 *operatore*   
 È possibile costruire un'espressione aritmetica composta usando gli operatori seguenti, in questo ordine di precedenza:  
+ ( ) : parentesi per controllare l'ordine di valutazione
+ \+ , - : operatori/segni positivi e negativi
+  ^ , \|/ , \|\|/ : potenza, radice quadrata, radice cubica
+ \* , / , % : operatori di moltiplicazione, divisione e modulo
+  @ : valore assoluto
+ \+ , - : addizione e sottrazione
+ & , \|, \#, \~, <<, >> : operatori bit per bit AND, OR, NOT, shift a sinistra, shift a destra
+ \|\|: concatenazione

 *(compound\_expression)*   
Le espressioni composte possono essere nidificate utilizzando le parentesi.

## Esempi
<a name="r_compound_expressions-examples"></a>

Esempi di espressioni composte comprendono:

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

È anche possibile nidificare alcune funzioni in altre funzioni. Ad esempio, è possibile nidificare qualsiasi funzione scalare dentro un'altra funzione scalare. Nell'esempio seguente viene restituita la somma dei valori assoluti di un set di numeri:

```
sum(abs(qtysold))
```

Non è possibile usare le funzioni finestra come argomenti per le funzioni di aggregazione o altre funzioni finestra. L'espressione seguente restituirebbe un errore:

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

Le funzioni finestra possono avere una funzione di aggregazione nidificata. L'espressione seguente addiziona set di valori e successivamente li classifica:

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