Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função MySQL TIMESTAMPDIFF()

A função `TIMESTAMPDIFF()` do MySQL calcula a diferença entre duas expressões de data ou data e hora. Ele retorna o resultado na unidade especificada, como segundos, minutos, horas, dias ou anos.

Uso

A função é usada para determinar o intervalo de tempo entre duas datas em uma unidade escolhida, o que a torna ideal para cálculos de idade, medições de duração e qualquer análise temporal. Ele recebe três argumentos: a unidade de medida, o registro de data e hora inicial e o registro de data e hora final. A função retorna um número inteiro que representa a diferença na unidade especificada. A diferença é calculada como o número de limites de unidade cruzados de `datetime_expr1` para `datetime_expr2`.

sql
TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)

Nessa sintaxe, `unit` especifica a unidade de tempo do resultado (por exemplo, SECOND, MINUTE, HOUR), `datetime_expr1` é a data/hora inicial e `datetime_expr2` é a data/hora final.

Exemplos

1. Diferença de dias básicos

sql
SELECT TIMESTAMPDIFF(DAY, '2023-01-01', '2023-01-10') AS days_difference;

Este exemplo calcula o número de dias entre 1º de janeiro de 2023 e 10 de janeiro de 2023, retornando um resultado de 9.

2. Cálculo de horas entre duas dateTimes

sql
SELECT TIMESTAMPDIFF(HOUR, '2023-01-01 08:00:00', '2023-01-02 08:00:00') AS hours_difference;

Este exemplo calcula a diferença em horas entre duas datas, resultando em 24 horas.

3. Uso com dados de tabela

sql
SELECT order_id, TIMESTAMPDIFF(MINUTE, order_time, delivery_time) AS delivery_duration
FROM orders;

Nesse exemplo, a função `TIMESTAMPDIFF()` calcula a duração da entrega em minutos para cada pedido, extraindo dados da tabela `orders`.

Dicas e práticas recomendadas

  • Escolha a unidade correta. Certifique-se de que a unidade de medida seja adequada ao contexto de sua consulta para evitar resultados enganosos.
  • Compreender os formatos de data e hora. Use formatos de data e hora compatíveis para obter cálculos precisos.
  • Índices de alavancagem. Se você estiver analisando grandes conjuntos de dados, verifique se as colunas de data e hora estão indexadas para melhorar o desempenho.
  • Manipular valores NULL. Considere os possíveis valores de data e hora NULL e trate-os adequadamente para evitar erros.
  • Considere os casos extremos. Esteja ciente dos cenários em que a data final é anterior à data inicial, pois isso pode afetar o resultado.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça