Compartilhar via


operador + (sinal de adição)

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna a soma dos valores expr1 e expr2.

Sintaxe

expr1 + expr2

Argumentos

  • expr1: uma expressão numérica de DATA, CARIMBO DE DATA/HORA ou INTERVALO.
  • expr2: se expr1 é numérica, expr2 deve ser uma expressão numérica. Caso contrário, uma expressão de INTERVAL.

Retornos

  • Se expr1 é numérica, o tipo máximo comum dos argumentos.
  • Se expr1 é uma DATA e expr2 é um intervalo de dia/hora, o resultado é um CARIMBO DE DATA/HORA.
  • Se expr1 e expr2 são intervalos de ano/mês, o resultado é um intervalo de ano/mês com unidades suficientemente grandes para representar o resultado.
  • Se expr1 e expr2 são intervalos de dia/hora, o resultado é um intervalo de dia/hora com unidades suficientemente grandes para representar o resultado.
  • Caso contrário, o tipo de resultado é correspondente a expr1.

Se as duas expressões são um intervalo, elas devem ser da mesma classe.

Quando você adiciona um intervalo de ano/mês a uma DATE, o Azure Databricks garante que a data resultante seja bem formada.

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

Use try_add para retornar NULL no estouro.

Aviso

No Databricks Runtime, se spark.sql.ansi.enabled for false, um estouro não causará um erro, mas "encapsulará" 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