Compartilhar via


Função date_diff

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

Retorna a diferença entre dois carimbos de data/hora medidos em units. date_diff(carimbo de data/hora) é um sinônimo da função timestampdiff.

Sintaxe

date_diff(unit, start, end)

unit
 { MICROSECOND |
   MILLISECOND |
   SECOND |
   MINUTE |
   HOUR |
   DAY |
   WEEK |
   MONTH |
   QUARTER |
   YEAR }

Argumentos

  • unit: uma unidade de medida.
  • start: uma expressão TIMESTAMP inicial.
  • end: uma expressão TIMESTAMP final.

Retornos

Um BIGINT.

Se start for maior que end o resultado será negativo.

A função conta unidades decorridas inteiras com base em UTC e um DAY de 86400 segundos.

Um mês é considerado decorrido quando o mês do calendário aumentou e o dia e o horário do calendário são iguais ou maiores para o início. Semanas, trimestres e anos acompanham isso.

Exemplos

-- One second shy of a month elapsed
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 11:59:59');
 0

-- One month has passed even though its' not end of the month yet because day and time line up.
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

-- Start is greater than the end
> SELECT date_diff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
 -120