Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
operador
Aplica-se a:
SQL do Databricks
Runtime do Databricks
Retorna a soma dos valores expr1 e expr2.
Sintaxe
expr1 + expr2
Argumentos
-
expr1: uma expressão numérica, DATE, TIME, TIMESTAMP ou INTERVAL. -
expr2: seexpr1é numérica,expr2deve 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 eexpr2é um intervalo de dia/hora, o resultado é um CARIMBO DE DATA/HORA. - Se
expr1for um TIME eexpr2for um intervalo de dia, o resultado será um TIME com a precisão mais ampla dos dois operandos. Se o resultado ficar fora[00:00:00, 24:00:00), Azure Databricks aumentará DATETIME_OVERFLOW. - Se
expr1eexpr2são intervalos de ano/mês, o resultado é um intervalo de ano/mês com unidades suficientemente grandes para representar o resultado. - Se
expr1eexpr2sã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 um ano a um DATE, Azure Databricks garante que a data resultante esteja bem formada.
Se o resultado estourar o tipo de resultado, Azure Databricks gerará um erro ARITHMETIC_OVERFLOW ou INTERVAL_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 "encapsula" o resultado.
Condições de erro comuns
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 TIME'10:30:00' + INTERVAL '2' HOUR
12:30:00
> 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: ARITHMETIC_OVERFLOW