Condividi tramite


+ Operatore (segno più)

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Restituisce la somma di expr1 e expr2.

Sintassi

expr1 + expr2

Argomenti

  • expr1: espressione numerica, DATE, TIMESTAMP o INTERVAL.
  • expr2: se expr1 è un'espressione numerica expr2 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 e expr2 è un intervallo di tempo di giorno, il risultato è timeSTAMP.
  • Se expr1 e expr2 sono intervalli anno-mese, il risultato è un intervallo di mesi di anno di unità sufficientemente ampie per rappresentare il risultato.
  • Se expr1 e expr2 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