+
Operatore (segno più)
Si applica a: controllo SQL databricks Databricks Runtime
Restituisce la somma di expr1
e expr2
.
Sintassi
expr1 + expr2
Argomenti
expr1
: espressione numerica, DATE, TIMESTAMP o INTERVAL.expr2
: seexpr1
è un'espressione numerica deve essere un'espressione numericaexpr2
o un intervallo in caso contrario.
Restituisce
- Se
expr1
è un valore numerico, il tipo massimo comune degli argomenti. - Se
expr1
è una DATA edexpr2
è un intervallo di tempo giornaliero, il risultato è un TIMESTAMP. - Se
expr1
eexpr2
sono intervalli anno-mese il risultato è un intervallo di anno-mese di unità sufficientemente ampie per rappresentare il risultato. - Se
expr1
eexpr2
sono intervalli di ora giornaliera il risultato è un intervallo di tempo giornaliero di unità sufficientemente ampie per rappresentare il risultato. - In caso contrario, il tipo di risultato corrisponde
expr1
a .
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 esegue il overflow del tipo di risultato, Azure Databricks genera un errore di ARITHMETIC_OVERFLOW .
Usare try_add per restituire NULL
overflow.
Avviso
In Databricks Runtime, se spark.sql.ansi.enabled è false
, un overflow non causa 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