文档章节

1.Oracle中decode()函数用法

J
 JunXing_W
发布于 2017/08/29 16:47
字数 342
阅读 3
收藏 0

1.Oracle中decode函数用法

含义解释:
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

用法

(1)比较大小,取得较大值(较小值)

select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值

select decode(sign(变量1-变量2),1,变量1,变量2) from dual; --取较大值

PS: sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

(2)结合Lpad函数,如何使主键的值自动加1并在前面补0

eg:select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis

Ps:lpad函数从左边对字符串使用指定的字符进行填充,语法为lpad( string, padded_length, [ pad_string ] )

(3)分别返回一个表中性别为男和女的用户的个数:

select sum(decode(性别,男,1,0)) 男,sum(decode(性别,女,1,0)) 女 from 表

(4)在查询语句中把空值输出为0

<1>select nvl(null,0) from dual 或

<2>select decode(cloum_name,null,0,cloum_name) from dual;

Ps:网上学习加上自己遇到问题整理,非100%原创。

© 著作权归作者所有

共有 人打赏支持
J
粉丝 0
博文 1
码字总数 342
作品 0
大连
Oracle 生僻关键词用法汇总

1.Oracle 中connect by / prior /start with用法 可以通过connect by / prior / start with 得到指定数据开始的所有上级父目录或者所有下级子目录 下面通过两个简单的例子学习一下两种用法。...

kimyeongnam
2015/10/09
54
0
Oracle的union、union all 与函数decode【2010-06-09】

两者都是对记录集操作,把来自许多SELECT语句的结果组合到一个结果集合中。不过值得注意的一点是,类型的一致性,既要满足,列于每个SELECT语句的对应位置的被选择的列应具有相同的类型。(例...

搜呗
2010/07/21
0
0
Oracle CASE WHEN 用法介绍

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

陆朋
2013/10/17
0
0
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 ......

李永china
2016/09/23
5
0
Oracle CASE WHEN 用法介绍

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

zh119893
2013/06/19
127
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++ gflags

gflags是google一个开源的处理命令行参数的库,相比getopt,更加容易使用。 定义参数 gflags主要支持的参数类型包括 DEFINEbool: boolean DEFINEint32: 32-bit integer DEFINEint64: 64-bit ...

SibylY
27分钟前
0
0
intellij IDEA Properties中文unicode转码问题

在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码。如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图如下: unicode转码后效果...

muzi1994
28分钟前
0
0
Java IO类库之PipedWriter

一、PipedWriter介绍 PipedWriter是字符管道输出流,继承自Writer,功能与PipedOutputStream类似,通过与PipedReader组合使用实现类似管道的功能,在多线程环境下,一个线程使用PipedWriter...

老韭菜
32分钟前
0
0
精简分页组件(手写)

需要引入CSS(没错就是这4行) .pagelist { text-align: center; color: #666; width: 100%; clear: both; margin: 20px 0; padding-top: 20px }.pagelist a { color: #666; margin: 0 2px;......

AK灬
33分钟前
3
0
29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?

泡泡是我的好朋友。今年 31 岁,毕业后就进了阿里巴巴,工作五年内从 P4 晋升至 P6、P7、P8。 和他很少聊到工作,但总觉得他有很棒的职场心得,应该分享出来,于是有了这次采访。希望对职场新...

Java填坑之路
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部