CASE 多分支语句:
–整个执行完会返回一个值,且必须使用变量进行接收
–用在某些固定选项的值的选择上
–通过SELECT 或者SET语句给某个变量赋值
–CASE
–WHEN[条件表达式] THEN<一个值>
–WHEN[条件表达式] THEN<一个值>
–WHEN[条件表达式] THEN<一个值>
–ELSE<一个值>
–END
Demo:
DECLARE @age1 SMALLINT,@remark VARCHAR(200);
SELECT @age1=36;
–如果介于某种取值范围
SELECT @remark=
CASE
WHEN @age1>=1 AND @age1<18 THEN
'太年轻了,小伙!'
WHEN @age1>=18 AND @age1<=25 THEN
'正是努力奋斗的时候'
ELSE
'正是压力大的时候'
END
PRINT 'Remark:'+@remark
Demo02:
SELECT QQNickName,LineStatus=
CASE
WHEN Online=0 THEN '在线'
WHEN Online=1 THEN '离线'
WHEN Online=2 THEN '隐身'
END
,LEVEL FROM QQUser
方式二:
–直接匹配,类似于c#中switch语句(多选1)
SELECT QQNickName,LineStatus=
CASE Online
WHEN 0 THEN '在线'
WHEN 1 THEN '离线'
WHEN 2 THEN '隐身'
END
,LEVEL FROM QQUser