Compartilhar via


Função try_add

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 10.4 LTS e superior

Retorna a soma de expr1 e expr2 ou NULL, em caso de erro.

Sintaxe

try_add ( expr1 , expr2 )

Essa função também pode ser invocada como uma função de janela usando a cláusula OVER.

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.

Se o resultado estourar o tipo de resultado, o SQL do Databricks retorna NULL.

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

Exemplos

> 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