Oracle中的Case-When的使用场景

简介: Oracle中的Case-When的使用场景

今日份知识学习

其实最近说了好多的数据库相关的知识,但是并没有单独说一些关键字或者函数的相关使用场景,那么今天我们就来说一下Case-When关键字的一些使用场景。

下面就一起来看看吧。

具体讲解

Case-When就等同于if-else一样,都是做一些逻辑判断处理的,这个关键字还是非常容易理解的。

关于Case-When关键字,我们在开发过程中,也经常遇到必须要使用这个关键字的场景,今天就来捋一捋到底在哪些场景下用这个关键字。

结果判断

首先就是在结果判断时,我们判空时一般都是用nvl、nvl2、decode等函数,但是这些函数都比较局限,在一些结果判断上不够灵活,这个时候就需要使用Case-When了。

通过Case-When就可以进行灵活的结果判断了。

比如下面这个例子中的SQL,如下:

select case user_id when '0001' then '张三' end from user_table;

从上面的SQL中,我们就可以将user_id为0001的数据,转换成名称为张三的数据。

行转列需求时需要使用到

在大部分行转列需求中,基本都是要使用Case-When来判断对应数据的,因为基于行转列需求的灵活性要求比较高,很难使用其他函数来替代Case-When关键字;比较高的Oracle版本好像专门提供了一个函数来进行行转列的需求。

这个我就不写SQL了,可以自行去试一下,或者去我的往期文章中找一下。

总结

今天我们学习了Case-When的几个使用场景,备不住哪天面试官就能问到哈。

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。

目录
相关文章
|
运维 Oracle 关系型数据库
Oracle: count STOPKEY 优化
Oracle数据库中select * from test where id> 1000 and rownum=1这样的语句应该怎样优化
518 0
|
Oracle 关系型数据库 SQL
Oracle学习笔记_06_CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1'...
1066 0
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
Oracle---OMF特性
      在Oracle数据库中会处理各式各样的文件,例如:数据文件(DATAFILE),控制文件(Control FILE),重做日志文件(redo file)       当然还有,临时表空间,归档重做日志,RMAN备份文件和存储闪回日志等。
1322 0
|
Oracle 关系型数据库 Java