case具有两种格式。简单case函数和case搜索函数。
1.简单case函数
case sex when '1' then when '2' then '女’else '其他' end
2.case搜索函数
case when sex = '1' then '男' when sex = '2' then '女' else '其他' end
注意:
- case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。
开发中遇到的问题
1.会出现问题的写法
select CASE WHEN 1 = 2 THEN 1.10 ELSE FLOOR(1.10) END 结果1.00
2.没有问题的写法
select CASE WHEN 1=2 THEN CONVERT(varchar, 1.10) ELSE CONVERT(varchar, FLOOR(1.10)) END 结果1
分析:按照语法来说,FLOOR(1.10) 后就是1,可是第一种写法查出的结果是1.00,第二种写法才是1,目前不知道什么原因.
网友评论