Вы должны исправить тип данных:
SELECT HOUR(TIMEDIFF(TIMESTAMP('2018-06-01 20:00:00'),
TIMESTAMP('2018-06-02 06:00:00'))) AS NoofHours
-- TIME != TIMESTAMP
DBFiddle Demo
TIME
пропускает часть даты.
SELECT TIME('2018-06-01 20:00:00'), TIME ('2018-06-02 06:00:00')
-- 20:00:00 06:00:00
Использование функции TIMESTAMPDIFF
:
SELECT TIMESTAMPDIFF(HOUR,
TIMESTAMP('2018-06-01 20:00:00'),
TIMESTAMP('2018-06-02 06:00:00')) AS NoofHours