case()的用法
总结下我最近写SQL语句时碰到的的case语句
1.case语句通常被称为流行控制语句
1).对expression进行判断,expression等于value1,则返回resultvalue1,如果都不返回when条件,则返回defaultvalue case expression when value1 then resultvalue1 when value2 then resultvalue2 when value3 then resultvalue3 else defaultvalue end 例如 case saletype when '1' then '零售单' when '-1' then '退货单' end
这样在做报表的时候不是显示'1'和'-1',显示的是文字'零售单'和'退货单'
2).condition1,condition2,condition3为条件表达式。case函数对各个表达式从前向后进行测试。如果条件1为真的时候就返回条件1对应的值resultvalue1,否则如果condition2为真的时候就返回resultvalue2........以此类推 如果都不符合条件就返回默认值defaultvalue case when condition1 then resultvalue1 when condition2 then resultvalue2 when condition3 then resultvalue3 else defaultvalue end 例如 sum(case when sizeorder=1 then qty end) case when avg>100 then '优秀' else '良好' end
加油!