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,当然,该名字可以任意命名。
注:decode 函数用法只适用于oracle数据库,并不适于sqlserver等其他数据库。