Так это решается на MsSQL:
print datediff (hour, dateadd(day,-1, getdate()), getdate())
Вместо dateadd() и getdate() можно вставлять любое время в формате:
yyyy-mm-dd hh:mm:ss
Предварительно сравнив что первое больше второго...
Но, кажется, в MySQL такого нет...