Função datediff
(carimbo de data/hora)
Aplica-se a: SQL do Databricks Databricks Runtime 10.4 LTS e versões posteriores
Retorna a diferença entre dois carimbos de data/hora medidos em unit
s. Essa função é sinônimo da função timestampdiff.
Sintaxe
datediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumentos
unit
: uma unidade de medida.start
: Uma expressãoTIMESTAMP
inicial.end
: Uma expressãoTIMESTAMP
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 datediff(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 datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT datediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120