Função try_add
Aplica-se a: Databricks SQL Databricks Runtime 10.4 LTS e superior
Devolve a soma de expr1
e expr2
, ou NULL em caso de erro.
try_add ( expr1 , expr2 )
Esta função também pode ser invocada como uma função de janela usando a OVER
cláusula.
expr1
: Uma expressão numérica, DATE, TIMESTAMP ou INTERVAL.expr2
: Seexpr1
é um numéricoexpr2
deve ser expressão numérica, ou um INTERVALO caso contrário.
- Se
expr1
for numérico, o tipo máximo comum dos argumentos. - Se
expr1
é uma DATA eexpr2
é um intervalo de tempo de dia o resultado é um carimbo de data/hora. - Se
expr1
eexpr2
são intervalos ano-mês, o resultado é um intervalo ano-mês de unidades suficientemente amplas para representar o resultado. - Se
expr1
eexpr2
são intervalos de tempo do dia, o resultado é um intervalo de tempo do dia de unidades suficientemente amplas para representar o resultado. - Caso contrário, o tipo de resultado corresponde a
expr1
.
Se ambas as expressões forem intervaladas, devem ser da mesma classe.
Se o resultado estourar, o tipo de resultado Databricks SQL retornará NULL.
Quando você adiciona um intervalo de um ano e mês a um Databricks DATE, o SQL garante que a data resultante esteja bem formada.
> SELECT try_add(1, 2);
3
> SELECT try_add(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-5-20
> SELECT try_add(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:32
> SELECT typeof(try_add(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_add(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-04-30
> SELECT try_add(127Y, 1Y);
NULL