+ Operatore (segno più)

Si applica a:check contrassegnato sì controllo SQL databricks contrassegnato come 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 deve essere un'espressione numerica expr2 o un intervallo in caso contrario.

Restituisce

  • Se expr1 è un valore numerico, il tipo massimo comune degli argomenti.
  • Se expr1 è una DATA ed expr2 è un intervallo di tempo giornaliero, il risultato è un TIMESTAMP.
  • Se expr1 e expr2 sono intervalli anno-mese il risultato è un intervallo di anno-mese di unità sufficientemente ampie per rappresentare il risultato.
  • Se expr1 e expr2 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 expr1a .

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