【ORCAL】oracle 数据库中case when 语句的用法详解
今天向大家介绍oracle数据库中 case when 语句的用法详解,主要包括它的用法详解、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值。
CASE WHEN 表达式有两种形式

1 --简单Case函数 2 3 CASE sex 4 WHEN '1' THEN '男' 5 WHEN '2' THEN '女' 6 ELSE '其他' END 7 8 --Case搜索函数 9 10 CASE 11 WHEN sex = '1' THEN '男' 12 WHEN sex = '2' THEN '女' 13 ELSE '其他' END
CASE WHEN 在语句中不同位置的用法
1.在SELECT后面的用法(目标显示结果中)
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;
注:此语句表示查询学生信息表中各年级的男生和女生数,并按年级分组(数据库中性别是以1和2表示)
2.在WHERE 后 用法(作为条件进行)
1 SELECT T2.*, T1.* 2 FROM T1, T2 3 WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND 4 T1.SOME_TYPE LIKE 'NOTHING%' 5 THEN 1 6 WHEN T2.COMPARE_TYPE != 'A' AND 7 T1.SOME_TYPE NOT LIKE 'NOTHING%' 8 THEN 1 9 ELSE 0 10 END) = 1
注:
3.GROUP BY 后的用法(分组条件中)
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;
本文来自博客园,作者:小码果,转载请注明原文链接:https://www.cnblogs.com/lsxs-wy/p/17773463.html,谢谢合作!
分类:
orcal
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统