Este link stackoverflow pode ajudá-lo. Há muitas maneiras de calcular a diferença entre duas datas e você não é obrigado a fazer isso em SQL completo.
[EDITAR]
Eu encontrei uma solução em SQL ...
SELECT TIMESTAMPDIFF(DAY,NOW(),'2012-01-01') AS DAY,
TIMESTAMPDIFF(HOUR,NOW(),'2012-01-01')-TIMESTAMPDIFF(DAY,NOW(),'2012-01-01')*24 AS HOUR,
TIMESTAMPDIFF(MINUTE,NOW(),'2012-01-01')-TIMESTAMPDIFF(HOUR,NOW(),'2012-01-01')*60 AS MINUTE;