当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

CASE WHEN 用法介绍

发表于: 2014-12-26   作者:daizj   来源:转载   浏览:
摘要: CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数  CASE sex  WHEN '1' THEN '男'  WHEN '2' THEN '女'  ELSE '其他' END  --Case搜索函数  CASE WHEN sex = '1' THEN
CASE WHEN 用法介绍

1. CASE WHEN 表达式有两种形式


--简单Case函数 

CASE sex 
WHEN '1' THEN '男' 
WHEN '2' THEN '女' 
ELSE '其他' END 

--Case搜索函数 

CASE
WHEN sex = '1' THEN '男' 
WHEN sex = '2' THEN '女' 
ELSE '其他' END 



2. CASE WHEN 在语句中不同位置的用法

2.1 SELECT CASE WHEN 用法


SELECT   grade, COUNT (CASE WHEN sex = 1 THEN 1      /*sex 1为男生,2位女生*/
                       ELSE NULL
                       END) 男生数,
                COUNT (CASE WHEN sex = 2 THEN 1
                       ELSE NULL
                       END) 女生数
    FROM students GROUP BY grade;



2.3 WHERE CASE WHEN 用法


SELECT T2.*, T1.*
   FROM T1, T2
  WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND
                   T1.SOME_TYPE LIKE 'NOTHING%'
                THEN 1
              WHEN T2.COMPARE_TYPE != 'A' AND
                   T1.SOME_TYPE NOT LIKE 'NOTHING%'
                THEN 1
              ELSE 0
           END) = 1



2.4 GROUP BY CASE WHEN 用法


SELECT 
CASE WHEN salary <= 500 THEN '1' 
WHEN salary > 500 AND salary <= 600  THEN '2' 
WHEN salary > 600 AND salary <= 800  THEN '3' 
WHEN salary > 800 AND salary <= 1000 THEN '4' 
ELSE NULL END salary_class, -- 别名命名
COUNT(*) 
FROM    Table_A 
GROUP BY 
CASE WHEN salary <= 500 THEN '1' 
WHEN salary > 500 AND salary <= 600  THEN '2' 
WHEN salary > 600 AND salary <= 800  THEN '3' 
WHEN salary > 800 AND salary <= 1000 THEN '4' 
ELSE NULL END; 


本文转自:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html

CASE WHEN 用法介绍

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' E
例子一: 有一个表,数据如: mysql> select * from tid_action; +----+------+-------------+ |
例子一: 有一个表,数据如: mysql> select * from tid_action; +----+------+-------------+ |
select * from biz_person_impl; --人员表 select * from dm_professional_title; --专家技术职称 s
select * from biz_person_impl; --人员表 select * from dm_professional_title; --专家技术职称 s
概述: sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种
概述: sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种
概述: sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种
1.查询 select case when sex = '男' then '1' when sex = '女' then '2' else '3' end 性别编号 fro
首先看我准备一张数据表(这是做一个数据测试的表,就相当于它们,一天打好几场球) 没错,就需要得
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号