oracle decode函数
来源:互联网 发布:网络说唱歌曲大连站 编辑:程序博客网 时间:2024/06/05 19:26
含义解释:
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
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”,达到了取较小值的目的。
select Name,decode(subject,'语文',1,'数学',2,'英语',3) 科目代码 from student;
select Name,decode(Subject,'语文',1,'数学',2,3) 科目代码 from student;3,order by对字符列进行特定的排序
大家还可以在Order by中使用Decode。
例:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。这时,就可以非常轻松的使用Decode完成要求了。
select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , '外语',3)
转列:
select
Name,sum(decode(Subject,'语文',Result)) 语文,
sum(decode(Subject,'数学',Result)) 数学,
sum(decode(Subject,'英语',Result)) 英语
from student
group by Name;
select
Name,
decode(Subject,'语文',Result,0) 语文,
decode(Subject,'数学',Result,0) 数学,
decode(Subject,'英语',Result,0) 英语
from student
- oracle decode.oracle 函数用法之decode
- Oracle中Decode()函数
- ORACLE 中的DECODE函数
- oracle中decode函数
- Oracle DECODE函数
- Oracle的DECODE函数
- Oracle decode函数
- Oracle函数Decode
- oracle decode()函数
- oracle-decode函数
- oracle decode函数
- oracle DECODE函数
- oracle中的decode函数
- ORACLE DECODE函数
- oracle函数decode
- decode()函数是ORACLE
- Oracle Decode函数详解
- Oracle-DECODE函数用法
- Varnish+Nginx搭建缓存服务器
- imageload如何更改文件名
- MySQL优化之——修改默认存储引擎
- 第十三章,隐式intent小demo(Android)
- 黑马程序员——JAVA——参数传递机制
- oracle decode函数
- ormlite
- 火绒 完美卸载 流氓软件的检测与防护方法动画演示
- SAT考试阅读练习题5
- iOS TableView实现QQ好友列表(三)
- 两个基于C++-Qt的开源WEB框架
- php中explode与split的区别介绍
- Nginx+Lua开发
- sublime text 的SFTP插件