MS SQL Server allows a maximum of 10 nested case statements. ASE does not have a limit.
Example of 2 nesting levels
declare @Char char(1)
set @Char = 'z'
select
case
when @Char = 'a' then '1'
else case
when @Char = 'b' then '2'
else case
when @Char = 'c' then '3'
else '?'
end
end
end
end
Remark
Most of the time, you do not need nesting of case statements. The expressions used in the ‘When’ clauses can be as complex as you like. Furthermore, you can add as many ‘When’ clauses as you need.
declare @Char char(1)
set @Char = 'z'
select
case
when @Char = 'a' then '1'
when @Char = 'b' then '2'
when @Char = 'c' then '3'
else '?'
end