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.
Função
Aplica-se a:
SQL do Databricks
Databricks Runtime 10.4 LTS e superior
Retorna a subtração de expr2 de expr1, ou NULL no estouro.
Sintaxe
try_subtract ( expr1 , expr2 )
Argumentos
-
expr1: uma expressão numérica de DATA, CARIMBO DE DATA/HORA ou INTERVALO. -
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
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.
Se o resultado estourar o tipo de resultado, o SQL do Databricks retorna NULL.
Quando você subtrai um intervalo de ano/mês de uma DATE, o SQL do Databricks garante que a data resultante seja bem formada.
Exemplos
> SELECT try_subtract(1, 2);
-1
> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-1-20
> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:26
> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-02-28
> SELECT try_subtract(-128Y, 1Y);
NULL