Use pode usar o
TIMEDIFF
função, assim:select
CONCAT(HOUR(TIMEDIFF(starttime, CONCAT(DATE(starttime),' 06:00:00'))), ':', MINUTE(TIMEDIFF(starttime, CONCAT(DATE(starttime),' 06:00:00')))) AS startdiff,
CONCAT(HOUR(TIMEDIFF(CONCAT(DATE(endtime),' 22:00:00'), endtime)), ':', MINUTE(TIMEDIFF(CONCAT(DATE(endtime),' 22:00:00'), endtime))) AS enddiff
from workingtime
Demonstração de trabalho:http://sqlfiddle.com/#!2/fc621/1
Não consegui entender a seguinte parte da sua pergunta:"com opção para o dia seguinte"