Jeg er ikke sikker på, at SQL eksperterne vil gøre det således... men jeg mener at have fået tre af mine kolonner beregnet.
SELECT
CASE WHEN START_CLOCK IS NULL OR START_CLOCK = 0 THEN '00:00' ELSE CONVERT(time, LEFT(CONVERT(varchar, START_CLOCK), LEN(START_CLOCK)-2) + ':' + RIGHT(CONVERT(varchar, START_CLOCK),2)) END AS StartTime
,CASE WHEN END_CLOCK IS NULL OR END_CLOCK = 0 THEN '00:00' ELSE CONVERT(time, LEFT(CONVERT(varchar, END_CLOCK), LEN(END_CLOCK)-2) + ':' + RIGHT(CONVERT(varchar, END_CLOCK),2)) END AS EndTime
,CONVERT(float, DATEDIFF(MINUTE, CASE WHEN START_CLOCK IS NULL OR START_CLOCK = 0 THEN '00:00' ELSE CONVERT(time, LEFT(CONVERT(varchar, START_CLOCK), LEN(START_CLOCK)-2) + ':' + RIGHT(CONVERT(varchar, START_CLOCK),2)) END,
CASE WHEN END_CLOCK IS NULL OR END_CLOCK = 0 THEN '00:00' ELSE CONVERT(time, LEFT(CONVERT(varchar, END_CLOCK), LEN(END_CLOCK)-2) + ':' + RIGHT(CONVERT(varchar, END_CLOCK),2)) END)) / 60 As TimeNumber
FROM SalaryRegistrations
Kan det gøres smartere ?????