sql CASE()函数

来源:互联网 发布:nginx服务启动 编辑:程序博客网 时间:2024/06/06 11:28
CASE函数有两种用法:用法1(只能实现简单的"等于"逻辑的判断):CASE expWHEN value1 THEN returnvalue1WHEN value2 THEN returnvalue2WHEN value3 THEN returnvalue3......ELSE defaultreturnvalueEND (别名)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 LevelNamefrom Customer用法2CASE WHEN con1 THEN returnvalue1WHEN con2 THEN returnvalue2WHEN con3 THEN returnvalue3......ELSE defaultreturnvalueEND (别名)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 isnormalfrom Person
0 0