oracle case when的用法

Oracle case when 详解 文章目录1 概述2 示例: when 执行顺序3 ORA-06592: 执行 CASE 语句时未找到 CASE 1 概述 1. case when:条件判断语句 (1) 相当于其它语言中的 if else (2) 部分情况下,等同于 decode() 2. case when 表达式用两种形式 -- 简单 case 函数,要求:when 对象的类型 和 case 对象的类型一致 -- 此时等同于 decode(sex, '1', '男', '2', '女') case sex 阅读详情

Oracle 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;  
复制代码

 

3.关于IF-THEN-ELSE的其他实现

3.1 DECODE() 函数
复制代码
select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')
from   employees;
复制代码

貌似只有Oracle提供该函数,而且不支持ANSI SQL,语法上也没CASE WHEN清晰,个人不推荐使用。

3.2 在WHERE中特殊实现
复制代码
SELECT T2.*, T1.*
   FROM T1, T2
  WHERE (T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%')
         OR
        (T2.COMPARE_TYPE != 'A' AND T1.SOME_TYPE NOT LIKE 'NOTHING%')
复制代码

这种方法也是在特殊情况下使用,要多注意逻辑,不要弄错

Oracle的Case When then end的用法 Case具有两种格式。简单Case函数和Case搜索函数。 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。... 阅读详情

相关推荐

R语言中的case_when函数和ifelse函数

在上面的示例中,我们根据不同的分数范围使用case_when函数给出了相应的评级。综上所述,case_when函数和ifelse函数都是在R语言中用于条件判断的常用函数。在R语言中,有两个常用的条件语句函数,分别是case_when函数和ifelse函数。其中,条件1、条件2等表示要判断的条件表达式,结果1、结果2等表示在满足对应条件时要执行的操作或返回的值。其中,条件表示要判断的条件表达式,结果1表示在条件为TRUE时要执行的操作或返回的值,结果2表示在条件为FALSE时要执行的操作或返回的值。

2301_79326588的博客 1436

Oracle中case when详解

Oracle中case when详解,包括使用格式、使用说明、样例展示。

实泽有之,无泽虚之 4万+

oracle where case when where后面跟case when

NULL 博文链接:https://vernonchen163.iteye.com/blog/1908053

Oracle CASE WHEN 用法介绍

1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END   2. CASE WHEN...

weixin_34220834的博客 1180

NVIDIA DGX Spark 开发环境深度配置与优化指南

定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。

time_days的博客 3684

ETL第八章无人售货机零售项目实践

ETL实战项目——无人售货机

m0_52058217的博客 4418

Oracle中case when的用法

Oracle中case when的用法 case when 表达式是一个通用条件的表达式,可以在表达式有效的任何位置使用。 用法如下: CASE WHEN condition THEN result [ WHEN condition THEN result ] ... [ ELSE result ] END condition:返回一个布尔结果的表达式。如果结果为...

远行客的博客 19万+

新卡尝鲜记:RTX 5070Ti适配PyTorch生态的实战避坑指南

本文分享了RTX 5070Ti适配PyTorch生态的实战经验。针对CUDA 12.8兼容性问题,详细介绍了安装PyTorch Nightly版本、手动编译xformers库以及寻找PyTorch3D第三方预编译包的完整流程与解决方案,帮助用户快速搭建可用的深度学习开发环境。

weixin_29094775的博客 288

Oracle中Case When的用法

一、Case的两种表达式 1.1、简单的case表达式 SELECT CASE 列名 WHEN 值1 THEN 結果1 WHEN 值2 THEN 結果2 ELSE 结果3 END FROM table1; 1.2、检索的cse表达式 SELECT CASE WHEN 条件1 THEN 条件1的結果 WHEN 条件2 THEN 条件2的結果 ELSE 条件1,2以外的结果 END FROM table1; 二、Case的不同用法 2.1、作为求个

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 4万+

Ansys疲劳仿真:工程结构寿命评估的实战方法论

做了这么多年仿真,有个感受越来越深——静力学算得再漂亮,疲劳寿命预测不对,项目照样过不了评审。不是因为理论有多复杂,而是因为疲劳损伤的物理机制本身就带有统计属性,材料内部的微观缺陷分布、应力集中位置、载荷谱的随机性,每一项都能让结果偏移20%甚至更多。本文从实战出发,梳理Ansys疲劳仿真的核心流程,重点讲清楚载荷类型选择、S-N曲线处理、应力集中修正这几个最容易出问题的环节。疲劳仿真做好了,最大的收获不是跑出一个漂亮的Damage云图,而是对结构的真实薄弱环节建立起量化的认知。

keyanxiaobaigou的博客 527

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 880

oracle中的case when then else end 用法

Oracle中Case when 的用法,使用表达式确定返回值. 1.1、语法:   CASE search_expression   WHEN expression1 THEN result1   WHEN expression2 THEN result2   WHEN expressionN THEN resultN   ELSE default_result 1.2、例子: C...

Abracadabra__的博客 2194

团队管理中最棘手的6个问题

研发团队的管理棘手问题,大多集中在。

xiaolyuh的专栏 742

oracle case when 用法总结

Oracle dbms_job package 用法小结 ORACLE CASE WHEN 及 SELECT CASE WHEN的用法   Case具有两种格式。简单Case函数和Case搜索函数。 --简单case函数 case sex when '1' then '男' when '2' then '女' else '其他' end   ...

zhengun的专栏 526

(八)DDR_PHY架构及功能——(PUB组成、初始化及Training流程、Clock关系)

文章目录一、DDR_PHY结构组成1.1、DDR Memory子系统1.2、DDR_PHY架构组成1.3、PUB模块功能实现流程1.3.1、DDR系统初始化流程1.3.2、PLL初始化流程 一、DDR_PHY结构组成 1.1、DDR Memory子系统   Memory子系统主要由DDR Controller和DDR_PHY(含DDR_IO)两个部分组成。DDR Controller主要承担其它子系统(如CPU)与Memory子系统进行数据交互时的传输效率及调度,DDR_PHY主要负责数据交互过程中的传输速

Mr.翟的博客 1万+

工商银行数据智能架构实践

工商银行大数据平台技术创新与实践摘要(149字): 工商银行构建了企业级大数据云基础设施,形成包含批量计算、流计算、联机分析等核心能力的技术架构。平台创新性地实现流批一体处理,将个人储蓄存款监测时效提升至分钟级;通过实时数仓技术将报送时效缩短至1-5分钟;融合内外部数据构建风控模型,债券违约预警准确率达100%。平台还支撑了"码上赢"精准营销和空间数据服务等创新应用,未来将向存算分离、实时数仓和云数智融合方向演进,持续提升数据价值转化能力。

银行信息系统应用架构详解 539

oracle case函数用法,ORACLE CASE WHEN用法

祝大家新年快乐,有任何问题可与我联系:ORACLE CASE WHEN其实就相当于我们程序当中的IF语句,他的语法结构是:CASE WHEN "条件表达式" THEN"语句1"ELSE"语句2"ENDCASE WHEN "条件表达式" THEN"语句1"ELSE"语句2"END意思相信大家都明白,当条件满足时持行语句1,否则持行语句2其实他的用处很多,如对SELECT中字段进行处理:有时候我们在处...

weixin_34901243的博客 1638

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

oracle case when 的用法

在Oracle数据库中,CASE WHEN语句是一个条件表达式,它允许你基于不同的条件执行不同的操作。该语句在SELECTUPDATEDELETE语句以及PL/SQL块中都非常有用。下面是关于CASE WHEN。

weixin_41203765的博客 9126

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ORACLE CASE WHEN 及 SELECT CASE WHEN的用法

 CASE 语句CASE selector   WHEN value1 THEN action1;   WHEN value2 THEN action2;   WHEN value3 THEN action3;   …..   ELSE actionN;END CASE;CASE表达式DECLARE   temp VARCHAR2(10);   v_num number;BEGIN  

oracle 数据库优化-松森科技 5万+

oracle case when用法

Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数   CASE sex   WHEN '1' THEN '男'   WHEN '2' THEN '女'   ELSE '其他' END   --Case搜索函数   CASE WHEN sex = '1' THEN '男'   WHEN s

Never_Give_Up专栏 637

oracle中 case when,Oracle CASE WHEN的用法

CASE WHEN的两种表达形式:方式一:CASEWHEND10='成功签收'THEN1WHEND11='成功签收'THEN1ELSENULLENDWHEN中间是用判断表达式方式二:CASED10WHEN'成功签收'THEN1WHEN'运输途中'THEN2ELSE'其他状态'END方式一适合对一条记录中的多列进行判断。方式二适合对一列中的多个条记录进行判断。...

weixin_39815600的博客 888
上一篇: JAVA 过滤器的实现
下一篇: ipse中Debug 为什么显示source not found
职业驱魔师
博客等级 码龄16年 16粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值