oracle中case when的用法[oracle技術]

操作方法

  • 01

    在oracle数据库开发中需要用到各种各样的sql函数和语句来提高自己的开发效率。今天介绍下case when的用法。

  • 02

    case when 有两种用法,一种是case后面有表达式和case后面没有表达式的。case后面有表达式的方法和decode的功能差不多,case后面没有表达式的话适合一些不以固定值作为判断的写法。请看下面两个例子。

  • 03

    case when的功能有点像decode但是又比decode的功能强大。 例如: select case a when 1 then 'a is 1' when 2 then 'a is 2' else 'others' end from table1; 和 select decode(a,1,'a is 1',2,'a is 2','others') from dual 实现的功能是一样的。这种用法可以参考官方的解说:

  • 04

    倘若是一些复杂的判断的话decode是胜任不了的。 select case when (select count(*) from table2 where id=table1.id)>0 then 'table2 and table1 is related' when (select count(*) from table3 where id=table1.id)>0 then 'table3 and table1 is related' else 'no table related with table1' end from table1 像这样的功能decode就不能实现。随手case when写的复杂一些,但是思路还是非常清晰的。

  • 05

    关于表达式方面你可以根据实际情况去写,有时候简单有时候复杂。上面的语句中我就写了相对复杂的表达式,表达式是一个select语句。有时候还是比较有用的,如果能用decode解决的话还是用decode比较好,毕竟用case when感觉比较臃肿。反正力求高效简洁吧。

  • 06

    好了case when的用法就先这样吧,如果你有更好的建议非常欢迎留言!

(0)

相关推荐

  • Case when 在Oracle 中的用法

    Case  when 直接在数据库的SQL中使用,主要用来判断字段多状态的情况,例如性别,合同状态等有多个选择的,如果直接在JS或前台界面写反复操作,而且需要操作很多状态,代码冗余: 操作方法 01 ...

  • ORACLE中如何修改表里某个字段的数据

    ORACLE中数据的生成可能会出错或者某个字段不满足需要,需要根据需求修改某一字段的内容,那么一个字段数据修改有哪几种方法呢? 方法一: 01 打开PL/SQL,新建sql窗口 02 使用update ...

  • MySQL、SQLServer、Oracle中设置主键自动增长

    最近由于工作关系,接触到了一些其他数据库,再加上自己以前在学校学的Oracle和MySQL数据库,发现区别是有的,今天就拿主键自动增长来说事 操作方法 01 首先先讲MySQL的设置方法,如果把表的主 ...

  • oracle中数据类型有哪些

    oracle中基础的数据类型有哪些呢,请看下面: 操作方法 01 字符 char 长度固定 范围:1--2000字节 02 字符VARCHAR2 可变长度 范围:1--4000字节 03 长字符LON ...

  • 怎么将Excel中的数据导入到 oracle中

    怎么将Excel 中的数据 通过 PL/SQL 导入到 oracle中:(本文是将 Excel 转换为 txt 的文件,因为这样子 操作简单点) 操作方法 01 在Excle中,将数据整理成类似Ora ...

  • oracle中decode用于where 中

    oracle中decode用于where 中 有个例子.查询时有两个参数 开始时间ldt_begin,结束时间ldt_end 当结束日期大于当前时间,某个值取 is null 否则 <ldt_e ...

  • 详解Linux系统中md5sum命令的用法

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  • oracle如何用expdp定时备份?oracle用expdp实现定时备份数据库图文详细教程

    oracle如何用expdp定时备份数据库?Oracle是甲骨文公司凭借自已30年的设计经验,成功打造的功能强大的关系数据库管理系统,用oracle命令备份数据库,生成dmp文件,保存了整一套的用户及 ...

  • 不安装oracle客户端如何用plsql连接oracle

    不安装oracle客户端如何用plsql连接oracle,二个工具加一起不到100M,而装个ORACLE的客户端要好几百M 操作方法 01 下载plsql和Instantclient链接在下面. 02 ...