Procurei por uma solução, mas muitas gente dava uma solução pouca prática, sendo que a solução é bem simples: Ao invés de utilizar o dado no formato de Data padrão do MySQL, convertá-os em Unix TimeStamp com a função UNIX_TIMESTAMP().
Para quem não conhece este formato de data, ele é um inteiro que conta a quantidade de segundos desde 1/1/1970, e é utilizado nos sistemas baseado em Unix e criado para justamente facilitar os cálculos relacionados ao tempo.
Voltando a ideia original, se quisermos fazer algo equivalente ao TIMESTAMPDIFF(tempo1, tempo2), podemos fazer o seguinte:
UNIX_TIMESTAMP(tempo2) - UNIX_TIMESTAMP(tempo1)
e problema resolvido.
Exemplo:
SELECT (UNIX_TIMESTAMP(chegada) - UNIX_TIMESTAMP(saida)) AS tempoDecorrido FROM Viagem WHERE custo>1000
Lembrando que o resultado vai sair sempre em segundos. Se precisar dos valores em horas, você deverá fazer as devidas conversões.
Showw, estava procurando esta solucao, obrigado
ResponderExcluirShoww, estava procurando esta solucao, obrigado
ResponderExcluir