SQLServer Case When用法 - 果核剥壳

在SQL Server中,Case When语句是一种强大的工具,它可以根据特定的条件返回不同的值。这种语句类似于其他编程语言中的if-else或switch-case结构。Case When语句有两种形式:简单形式和搜索形式。

简单形式的Case When语句非常简单,只需要根据输入表达式与每个when表达式进行比较,如果相等,则返回对应的结果表达式。如果没有任何一个when表达式与输入表达式相等,且存在else结果表达式,则返回else结果表达式。如果没有任何一个when表达式与输入表达式相等,且不存在else结果表达式,则返回NULL。例如,下面的语句会根据学生的成绩返回不同的等级:

SELECT name, score,
CASE score
WHEN 90 THEN 'A'
WHEN 80 THEN 'B'
WHEN 70 THEN 'C'
WHEN 60 THEN 'D'
ELSE 'E'
END AS grade
FROM student;

搜索形式的Case When语句则会依次评估每个布尔表达式,如果为真,则返回对应的结果表达式。如果没有任何一个布尔表达式为真,且存在else结果表达式,则返回else结果表达式。如果没有任何一个布尔表达式为真,且不存在else结果表达式,则返回NULL。例如,下面的语句会根据员工的年龄和性别返回不同的奖金:

SELECT name, age, gender,
CASE
WHEN age > 50 AND gender = 'M' THEN 1000
WHEN age > 50 AND gender = 'F' THEN 1200
WHEN age <= 50 AND gender = 'M' THEN 800
WHEN age <= 50 AND gender = 'F' THEN 900
END AS bonus
FROM employee;

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

(0)
上一篇 2023年9月27日 上午10:25
下一篇 2023年9月27日 上午10:31

相关推荐

发表回复

评论问题之前,点击我,能帮你解决大部分问题

您的电子邮箱地址不会被公开。 必填项已用*标注