This article is a continuation of SQL Server CASE Statement and CASE WHEN Examples . Today we will learn about Nested Case Statement in SQL Server.
We can nest CASE statements similar to nested ifs that we find in most programming languages.
Let us see an example.
Image 7-Nested-Case
Limit of nesting a CASE function is up to 10 levels only.
In the following example, the limit of 10 is completely utilized.
Image 8-Nested-Case-Upto-10-Levels
If nesting is exceeding 10 levels, then SQL Server throws an error.
Case expressions may only be nested to level 10.
We can nest CASE statements similar to nested ifs that we find in most programming languages.
Let us see an example.
select ename, job, sal, case -- Outer Case when ename like 'A%' then case when sal >= 1500 then 'A' -- Nested Case end when ename like 'J%' then case when sal >= 2900 then 'J' -- Nested Case end end as "Name-Grade" From Emp
Image 7-Nested-Case
Limit of nesting a CASE function is up to 10 levels only.
In the following example, the limit of 10 is completely utilized.
Declare @x int set @x = 1 Select case when @x <= 100 then -- Level 1 case when @x <= 90 then -- Level 2 case when @x <= 80 then -- Level 3 case when @x <= 70 then -- Level 4 case when @x <= 60 then -- Level 5 case when @x <= 50 then -- Level 6 case when @x <= 40 then -- Level 7 case when @x <= 30 then --Level 8 case when @x <= 20 then--Level 9 case when @x<= 10 then--Level 10 100 End End End End End End End End End End as "Nested Case" --Ending all levels!
Image 8-Nested-Case-Upto-10-Levels
If nesting is exceeding 10 levels, then SQL Server throws an error.
Declare @x int set @x = 1 Select case when @x <= 100 then -- Level 1 case when @x <= 90 then -- Level 2 case when @x <= 80 then -- Level 3 case when @x <= 70 then -- Level 4 case when @x <= 60 then -- Level 5 case when @x <= 50 then -- Level 6 case when @x <= 40 then -- Level 7 case when @x <= 30 then --Level 8 case when @x <= 20 then--Level 9 case when @x<= 10 then--Level 10 case when @x <= 11 then -- 11 100 End End End End End End End End End End End as "Nested Case"Msg 125, Level 15, State 4, Line 14
Case expressions may only be nested to level 10.
No comments:
Post a Comment