Oracle 中 decode 函数用法
2016-04-24 21:32
531 查看
DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
使用方法:
Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
From talbename
Where …
其中columnname为要选择的table中所定义的column。
含义解释:
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
注:其中缺省值可以是你要选择的column name 本身,也可以是你想定义的其他值,比如Other等;
举例说明:有一个文件表FILETABLE,其中有一个字段为BGD_STATUS,该字段的值为1、2、3、4等,现在,我们需要将该字段的值翻译一下,当该字段的值为1的时候,翻译为拟文,当该字段为2时,翻译为审核,等等。把这些翻译后的字段变为一个新的字段名字STATE,当然,该名字可以任意命名。
![](https://img-blog.csdn.net/20160424212709463?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注:decode 函数用法只适用于oracle数据库,并不适于sqlserver等其他数据库。
使用方法:
Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
From talbename
Where …
其中columnname为要选择的table中所定义的column。
含义解释:
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
注:其中缺省值可以是你要选择的column name 本身,也可以是你想定义的其他值,比如Other等;
举例说明:有一个文件表FILETABLE,其中有一个字段为BGD_STATUS,该字段的值为1、2、3、4等,现在,我们需要将该字段的值翻译一下,当该字段的值为1的时候,翻译为拟文,当该字段为2时,翻译为审核,等等。把这些翻译后的字段变为一个新的字段名字STATE,当然,该名字可以任意命名。
注:decode 函数用法只适用于oracle数据库,并不适于sqlserver等其他数据库。
相关文章推荐
- 在tomcat中配置MySQL和oracle数据库连接池的异同
- Oracle 11g 管理Oracle 集群
- Centos 6.5 安装Oracle 12C RAC
- 远程连接oracle数据库
- Oracle 索引(转)
- TimesTen可以缓存哪些版本的Oracle数据库
- ORACLE 4 SQL语句解析
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
- dwr+oracle进行clob、blob字段插入、修改和读取
- ORACLE 数据库体系结构
- Oracle游标详解
- Oracle排错工具oerr
- Oracle批量生成表空间创建语句
- Oracle排错工具oerr
- oracle 3 死锁处理
- Oracle数据库间数据导入问题总结
- Oracle创建表空间、创建用户以及授权、查看权限
- linux centos5.7(32bit) oracle 10g oracle11g
- 查询Oracle中某张指定表的列的信息
- Oracle的number的整数位最大长度是38(小数位最大长度是127位),varchar2的最大长度是4000...