sql语句中case when的使用方法

来源:互联网 发布:二维码生成打印软件 编辑:程序博客网 时间:2024/05/22 08:16

前言:

SQL中的case具有两种格式。简单Case函数和Case搜索函数。

简单Case函数

CASE sex         WHEN '1' THEN '男'         WHEN '2' THEN '女'ELSE '其他' END/**(注释:列名,这里是sex,如果放在case后,则显示在屏幕上的列名即为列名sex)*/

Case搜索函数

CASE WHEN sex = '1' THEN '男'         WHEN sex = '2' THEN '女'ELSE '其他' END/**(注释:列名,这里是sex,如果放在when后,若是不为整个CASE WHEN语句写个别名的话,则显示在屏幕上的列名即为整个CASE WHEN语句)*/

Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

1. 目前使用case的情况:

统计某一个数据的总量,比起sum的效率更高。

-- case when then else end 数量统计查询select     sum(case when status = 1 then 1 else 0 end) count1 ,    sum(case when status = 2 then 1 else 0 end) count2 ,    sum(case when status = 3 then 1 else 0 end) count3 ,    count(*)from tb_article

上面即是统计tb_article中stutus值为1,2,3的总数。


更多case when的实例见:
http://blog.csdn.net/haiross/article/details/46412581

原创粉丝点击