Calcular a diferença entre duas datas no MySQL é muito fácil. Veja como você pode fazer isso. Digamos que dt1 e dt2 são 2 colunas na tabela table_name . Basta substituir db1, db2 e table_name nas consultas abaixo pelos seus valores.
Um caso de uso simples é uma tabela chamada user com 2 campos chamados signup_date e last_login_date. Você pode calcular a diferença entre duas datas para descobrir como os usuários fizeram login recentemente após a inscrição.
Diferença entre duas datas apresentadas como colunas em uma tabela
SELECT UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ) from table_name;
Diferença entre duas datas armazenadas como variáveis
SET @dt1='2013-11-09 00:00:00'; SET @dt2='2012-10-07 00:00:00'; SELECT UNIX_TIMESTAMP( @dt2 ) - UNIX_TIMESTAMP( @dt1 );
Diferença entre duas datas em minutos
Se você quiser descobrir a diferença em termos de minutos, basta dividir o resultado acima por 60
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/60 from table_name;
Diferença entre duas datas em horas
Se você quiser descobrir a diferença em termos de minutos, basta dividir o resultado acima por 3600
SELECT (UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 ))/3600 from table_name;
Diferença entre duas datas em dias
Se você quiser descobrir a diferença em termos de minutos, basta dividir o resultado acima por 3600*24