1, SELECT CASE WHEN DATEDIFF(mi,STUFF(STUFF(RIGHT('0' + CAST(starttime AS varchar(6)),6),3,0,':'),6,0,':'),STUFF(STUFF(RIGHT('0' + CAST(endtime AS varchar(6)),6),3,0,':'),6,0,':')) > 0 THEN DATEDIFF(mi,STUFF(STUFF(RIGHT('0' + CAST(starttime AS varchar(6)),6),3,0,':'),6,0,':'),STUFF(STUFF(RIGHT('0' + CAST(endtime AS varchar(6)),6),3,0,':'),6,0,':')) ELSE 1440 - DATEDIFF(mi,STUFF(STUFF(RIGHT('0' + CAST(starttime AS varchar(6)),6),3,0,':'),6,0,':'),STUFF(STUFF(RIGHT('0' + CAST(endtime AS varchar(6)),6),3,0,':'),6,0,':')) END AS Duration FROM Table