文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
30
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
27
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
36
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
23
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部