8-05分支结构CASE..END

语法:

CASE

WHEN  条件1 THEN 结果1

WHEN  条件2  THEN 结果2

...ELSE  其他结果

END

执行顺序:

条件1成立执行结果1

条件2成立执行结果2

如果所有WHEN的条件都不成立,则执行ELSE中的结果。

说明:ELSE可省略,如果省略ELSE并且WHEN的表达式的都不为TRUE,

那么ELSE返回NULL。

使用ABCDE打分制给学生打分:

--A级:90分以上
--B级:80分以上
--C级:70分以上
--D级:60分以上
--E级:60分以下
DECLARE @scroe int
SET @scroe =93
--使用CASE...END 进行多重判断。选择一个去执行:
WHEN @scroe>=90 THEN'A'
WHEN @scroe>80 AND @scroe<=89THEN'B'
WHEN @scroe >70 AND @scroe<80 THEN'C'
WHEN @scroe> 60 AND @scroe<70 THEN'D'
ELSE 'E'

下面看看CASE ...END如何在SQL语句中使用:

---等级划分:
--购买一次为普通会员,购买2-5次为白金会员,购买6-10为VIP会员,10次以上为为VIP白金会员:
SELECT 用户编号=UserId 次数=
CASE
WHEN COUNT(*)=1 '普通会员'
WHEN COUNT(*) BETWEEN 2 AND 5 '白金会员'
WHEN COUNT(*) BETWEEN 6 AND 10 'VIP会员'
ELSE'白金VIP会员'
FROM OrderInfo
GOUP BY UserID

  

上一篇:PHP和javascript判断用户使用的是手机还是电脑


下一篇:MVC项目中如何判断用户是在用什么设备进行访问