
decode函数的主要用途是根据指定变量的值返回指定值。启动oralce数据库,用plsqldev登录。数据库中有emp_test表和三条记录;decode函数最常见的用途是枚举值转换。在上一步中,我们已经看到emp_test表中的性别字段sex用0和1表示,但是如果我们的查询结果显示为男性和女性,decode函数可以帮助我们进行转换。
具体语法如下:
Select.id,et.name,decode (et.sex,1,男 0,'女)作为性别来自emp _ test et
解码(et.sex,1,男 0,'女)表示:如果sex字段的值为1,则decode函数的返回值为男如果为0,decode函数的返回值为女
decode函数的另一个用途是结合sign函数比较大小。sign(value)函数会根据0的值,正的和负的分别返回0,1和-1。例如
选择。同上。名称、解码(符号(等。年龄-45),0,中年 1,'老年'-1''青春)作为性别来自emp _ test et
Decode(sign(et.age-45),0,中年 1,'老年'-1''青春)意味着如果sign函数的返回值是0,decode函数的返回值是中年如果sign函数的返回值是1,decode函数的返回值是老年如果符号函数的返回值是
decode函数的另一个用途是确定一个字段是否为空。例如:
选择。同上。名称、解码(等。性,null,性别是空的 1,'男 0,'女)as sex,et.age from emp _ test et
Decode(et.sex,null,性别是空的 1,'男 0,'女)的意思是:如果sex字段的值为null,那么decode函数的返回值为性别是空的如果性别字段为1,解码函数的返回值为男如果为0,解码函数的返回值为
如果在存储过程中使用,decode函数中的字符串应该使用双引号,比如decode(et.sex,null,'性别是空的' 1,''男' 0,''女').








