CASE函数有两种用法:
用法1(只能实现简单的"等于"逻辑的判断):
CASE exp
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
......
ELSE defaultreturnvalue
END (别名)
CASE 函数对表达式exp进行测试,如果exp等于value1则返回returnvalue1;如果exp等于value2则返回returnvalue2;...以此类推,如果不符合所有的when条件则返回默认值defaultvalue
例:表Customer中的Level字段是整型类型,它记录了客户的级别,如果为1则是vip用户,2是高级客户,3是普通用户,显然前台不应该展示1,2,3,而是应该展示相应的文字,这里就可以使用CASE函数进行处理,sql语句如下:
select Name,
case Level
when 1 then 'vip客户'
when 2 then '高级客户'
when 3 then '普通用户'
end LevelName
from Customer
用法2:
CASE
WHEN con1 THEN returnvalue1
WHEN con2 THEN returnvalue2
WHEN con3 THEN returnvalue3
......
ELSE defaultreturnvalue
END (别名)
con1,con2,con3...为条件表达式,如果条件con1为真则返回returnvalue1;如果条件con2为真则返回returnvalue2;如果条件con3为真则返回returnvalue3;以此类推,如果不符合所有的when条件,则返回默认值defaultreturnvalue。这种用法没有限定对一个表达式进行判断,因此使用起来更加灵活。
例:判断一个人的体重是否正常,如果体重小于100则认为太瘦,如果大于150则认为太胖,在100-150之间则认为是正常的,sql语句如下:
select
case when Weight<100 then 'thin'
when Weight>150 then 'fat'
else 'ok'
end isnormal
from Person
sql CASE()函数
最新推荐文章于 2024-09-18 18:11:55 发布