Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Função
Aplica-se a:
Databricks SQL
Databricks Runtime 10.4 LTS e superior
Devolve a subtração de expr2 a partir de expr1, ou NULL em caso de transbordo.
Sintaxe
try_subtract ( expr1 , expr2 )
Argumentos
-
expr1: Uma expressão numérica, DATE, TIMESTAMP ou INTERVAL. -
expr2: Seexpr1é numérico,expr2deve ser uma expressão numérica ou, caso contrário, um INTERVALO.
Devoluções
- Se
expr1é numérico, então é o tipo máximo comum dos argumentos. - Se
expr1é uma DATA eexpr2é um intervalo de tempo diurno, o resultado é um timestamp. - Se
expr1eexpr2são intervalos de ano-mês, o resultado é um intervalo de ano-mês com unidades suficientemente amplas para representá-lo. - Se
expr1eexpr2sã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 intervalos, devem ser da mesma classe.
Se o resultado estourar, o tipo de resultado Databricks SQL retornará NULL.
Quando subtrai um intervalo de ano-mês de uma data no Databricks SQL, este assegurará que a data resultante esteja 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