作者:喜怒哀乐168_572 | 来源:互联网 | 2020-09-04 10:29
oracle中casewhen语句表示根据条件查询数据,casewhen的语法是“SELECT...COUNT(CASEWHEN...)”和“SELECT...FROM...WHERE(CASEWHEN...)”。
CASE WHEN 在语句中不同位置的用法
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、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
3、GROUP BY CASE WHEN 用法
SELECT
CASE WHEN salary <= 500 THEN &#39;1&#39;
WHEN salary > 500 AND salary <= 600 THEN &#39;2&#39;
WHEN salary > 600 AND salary <= 800 THEN &#39;3&#39;
WHEN salary > 800 AND salary <= 1000 THEN &#39;4&#39;
ELSE NULL END salary_class, -- 别名命名
COUNT(*)
FROM Table_A
GROUP BY
CASE WHEN salary <= 500 THEN &#39;1&#39;
WHEN salary > 500 AND salary <= 600 THEN &#39;2&#39;
WHEN salary > 600 AND salary <= 800 THEN &#39;3&#39;
WHEN salary > 800 AND salary <= 1000 THEN &#39;4&#39;
ELSE NULL END;
推荐教程:mysql教程
以上就是oracle case when的用法的详细内容,更多请关注 第一PHP社区 其它相关文章!