+ Operador (sinal de adição)

Aplica-se a:verificar a verificação sim do SQL do Databricks marcada como sim Databricks Runtime

Devolve a soma de expr1 e expr2.

Sintaxe

expr1 + expr2

Argumentos

  • expr1: uma expressão numérica, DATE, TIMESTAMP ou INTERVAL.
  • expr2: se expr1 for uma expressão numérica expr2 tem de ser uma expressão numérica ou um INTERVALO.

Devolve

  • Se expr1 for numérico, o tipo máximo comum dos argumentos.
  • Se expr1 for uma DATA e expr2 for um intervalo de tempo diário, o resultado será um CARIMBO DE DATA/HORA.
  • Se expr1 e expr2 forem intervalos de ano/mês, o resultado é um intervalo de ano/mês de unidades suficientemente amplas para representar o resultado.
  • Se expr1 e expr2 forem intervalos de tempo diário, o resultado é um intervalo de tempo diário de unidades suficientemente largas para representar o resultado.
  • Caso contrário, o tipo de resultado corresponde expr1a .

Se ambas as expressões forem intervalo, têm de ser da mesma classe.

Quando adiciona um intervalo de um ano a uma DATA, o Azure Databricks garante que a data resultante está bem formada.

Se o resultado exceder o tipo de resultado, o Azure Databricks gera um erro ARITHMETIC_OVERFLOW .

Utilize try_add para regressar em excesso NULL .

Aviso

No Databricks Runtime, se spark.sql.ansi.enabled for false, uma capacidade excedida não causará um erro, mas "encapsula" o resultado.

Exemplos

> 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