In T-SQL kann man auch mit verschachtelten CASE WHEN Anweisungen arbeiten:
...
CASE WHEN
(
CASE WHEN DATEDIFF(DAY,@enddate, b.DateTo) <0 THEN
CASE WHEN DATEDIFF(DAY, b.DateFrom,@startdate) <0 THEN
(DATEDIFF(DAY,@enddate, b.DateTo)-DATEDIFF(DAY, b.DateFrom,@startdate))*(-1)
ELSE
28-DATEDIFF(DAY,@enddate, b.DateTo)*(-1)
end
ELSE
CASE WHEN DATEDIFF(DAY, b.DateFrom,@startdate) <0 THEN
28-DATEDIFF(DAY, b.DateFrom,@startdate)*(-1)
ELSE
28
end
END
)
>14 THEN
1
ELSE
0.5
END
...