一、分支结构2:CASE...ELSE...END
1、语法:
CASE
WHEN 条件1 THEN 结果2
WHEN 条件2 THEN 结果2
........
[ELSE
结果n]
END
2、执行顺序:条件1成立执行结果1,条件2成立执行结果2.....,如果所有的WHEN中的条件都不成立,则执行ELSE的结果。如果ELSE省略并且WHEN的条件表达式的结果都不成立,则CASE语句返NULL
3、例:
1)学生考试成绩评级,>=90为优秀,>=80为良好,>=70为一般,>=60为及格,<60则为不及格
DECLARE @SCORE INT
SET @SCORE=78
SELECT 评分结果=CASE
WHEN @SCORE>=90 THEN '优秀'
WHEN @SCORE>=80 THEN '良好'
WHEN @SCORE>=70 THEN '一般'
WHEN @SCORE>=60 THEN '及格'
ELSE
'不及格'
END
GO
2)查询产品表ProductList里的销售价,<=100的为一般产品,<=200的为金牛产品,<=300的为白金产品,其他则为白金VIP产品。要求查询出的表中增加一列来放“产品评级”
USE MyServer
GO
SELECT *,
CASE
WHEN PL_OutPrice<=100 THEN '一般产品'
WHEN PL_OutPrice<=200 THEN '金牛产品'
WHEN PL_OutPrice<=300 THEN '白金产品'
ELSE
'白金VIP产品'
END 产品评级
FROM ProductList
GO