+
Operador (sinal de adição)
Aplica-se a: do SQL do Databricks Databricks Runtime
Devolve a soma de expr1
e expr2
.
Sintaxe
expr1 + expr2
Argumentos
expr1
: uma expressão numérica, DATE, TIMESTAMP ou INTERVAL.expr2
: seexpr1
for uma expressão numéricaexpr2
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 eexpr2
for um intervalo de tempo diário, o resultado será um CARIMBO DE DATA/HORA. - Se
expr1
eexpr2
forem intervalos de ano/mês, o resultado é um intervalo de ano/mês de unidades suficientemente amplas para representar o resultado. - Se
expr1
eexpr2
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
expr1
a .
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