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这样的语句应该怎样优化
541 0
|
SQL Oracle 算法
Oracle MySQL相关工具replace操作实现方式区别
本文列举MySQL、Oracle、常用数据导入工具碰到主键冲突、唯一约束、以及其他对重复数据、已有数据的处理区别,并介绍MySQL、Oracle replace相关语句实现区别。 由此可见在实际使用不同数据库过程中,还是有许多差别,需要大家细心留意。
837 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'...
1075 0
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 Java