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

 

posted @ 2019-06-01 14:11  程序员瑶琴  阅读(1505)  评论(0编辑  收藏  举报