Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wsrodrigues

Intervalo entre Datas

Recommended Posts

Tenho uma tabela na qual tem 2 campos (dt_inicio, dt_fim), que preciso pegar a diferença em segundos entre eles.

Estou fazendo uso de uma função em PHP para tal, mas gostaria de fazer isso no SQL, afim de dar mais poder as combinações.

Estive dando uma googada e achei algumas soluções, tanto com Store Procure, como usando algumas funções, mas em sua maioria, para MySQL 5.0 (uso 4.1.20).

Uma das funções que "quase" deram certo foi PERIOD_DIFF.

 

SELECT pk, dt_inicio, dt_fim, PERIOD_DIFF(dt_fim, dt_inicio) AS diferenca

FROM log_estat_inicial

ORDER BY pk DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro que utilize TIMESTAMPDIFF.

http://dev.mysql.com/doc/refman/5.0/en/dat...n_timestampdiff

 

Ficaria algo parecido com:

SELECT pk, dt_inicio, dt_fim, TIMESTAMPDIFF(SECOND,dt_fim, dt_inicio) AS diferenca
FROM log_estat_inicial
ORDER BY pk DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que nessa versão do banco, não tem essa função.

 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( SECOND , dt_fim , dt_inicio ) AS diferenca FROM log_estat_ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT pk, dt_inicio, dt_fim, time_to_sec(timediff(dt_fim, dt_inicio)) AS diferenca

FROM log_estat_inicial

ORDER BY pk DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.