Denna stackoverflow-länk kan jag hjälpa dig. Det finns många sätt att beräkna skillnaden mellan två datum och du är inte skyldig att göra detta i full SQL.
[EDIT]
Jag har hittat en lösning i 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;