语法:
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
原文:http://www.cnblogs.com/gcmwalker/p/6102881.html