decode函数,decode(sign)
程序员文章站
2022-07-05 14:39:53
...
//decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
//1、比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
//结合Lpad函数(Left pad 左填充lpad(字段名,填充长度,填充的字符) ),
如何使主键的值自动加1并在前面补0
select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis
比如我要查询某班男生和女生的数量分别是多少?
通常我们这么写:
select count(*) from 表 where 性别 = 男;
select count(*) from 表 where 性别 = 女;
要想显示到一起还要union一下,太麻烦了
用decode呢,只需要一句话
//select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表
下一篇: 分布式与集群的区别
推荐阅读
-
oracle中的decode的使用介绍
-
简单介绍Python中的decode()方法的使用
-
oracle中decode函数的使用方法
-
PHP保存Base64图片base64_decode的问题整理
-
PHP中遇到BOM、
编码导致json_decode函数无法解析问题 -
Mysql中decode函数的几种用法
-
浅析php中json_encode()和json_decode()
-
python base64 decode incorrect padding错误解决方法
-
php中base64_decode与base64_encode加密解密函数实例
-
Oracle排序、使用nvl函数、使用decode函数、使用case 语法