+
Operatore (segno più)
Si applica a: Databricks SQL Databricks Runtime
Restituisce la somma di expr1
e expr2
.
Sintassi
expr1 + expr2
Argomenti
expr1
: espressione numerica, DATE, TIMESTAMP o INTERVAL.expr2
: seexpr1
è un'espressione numericaexpr2
deve essere un'espressione numerica o un intervallo in caso contrario.
Valori restituiti
- Se
expr1
è un valore numerico, il tipo massimo comune degli argomenti. - Se
expr1
è una data eexpr2
è un intervallo di tempo di giorno, il risultato è timeSTAMP. - Se
expr1
eexpr2
sono intervalli anno-mese, il risultato è un intervallo di mesi di anno di unità sufficientemente ampie per rappresentare il risultato. - Se
expr1
eexpr2
sono intervalli di tempo di giorno, il risultato è un intervallo di tempo di giorno di unità sufficientemente ampie per rappresentare il risultato. - In caso contrario, il tipo di risultato corrisponde a
expr1
.
Se entrambe le espressioni sono intervallo, devono essere della stessa classe.
Quando si aggiunge un intervallo di anno a una data, Azure Databricks garantisce che la data risultante sia ben formata.
Se il risultato supera il tipo di risultato, Azure Databricks genera un errore ARITHMETIC_OVERFLOW .
Usare try_add per restituire NULL
l'overflow.
Avviso
In Databricks Runtime, se spark.sql.ansi.enabled è false
, un overflow non genera un errore ma "esegue il wrapping" del risultato.
Esempi
> SELECT 1 + 2;
3
> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
2021-5-20
> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
2021-03-20 12:15:32
> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
interval day to hour
> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
2021-04-30
> SELECT 127Y + 1Y;
Error: ARITMETIC_OVERFLOW