大家好,小城来为大家解答以上问题。oracle decode函数,decode函数很多人还不知道,现在让我们一起来看看吧!
1、启动oralce数据库,用plsqldev登录。数据库中有emp_test表和三条记录,如下所示:
2、decode函数最常见的用法是枚举值转换。上一步我们已经看到,emp_test表中的性别字段sex用0和1表示,但是我们的查询结果应该显示为男性和女性,而decode函数可以帮助我们进行转换。
3、具体语法如下:
4、select et.id,et.name,decode(et.sex,1,’男'0,'女)作为性别来自雇员_测试et
5、decode(et.sex,1,'男性'0,'女性')的含义是,如果性别字段的值为1,则decode函数的返回值为'男性'如果为0,则decode函数的返回值为'女性'
6、decode函数的另一个用法是结合符号功能比较大小。sign(value)函数会根据value的值为0、正、负分别返回0、1和-1。例如
7、select et.id,et.name,decode(sign(et.age - 45),0,’中年'1,'老年''-1''青年)作为性别来自雇员_测试et
8、decode(sign(et.age-45),0,'中年'1,'老年''-1 ''青年')的含义是,如果sign函数的返回值为0,那么decode函数的返回值为'中年'
9、如果sign函数的返回值为1,则decode函数的返回值为‘老年’;如果sign函数的返回值为-1,则decode函数的返回值为‘青春’。
10、decode函数的另一个用途是确定一个字段是否为空。例如:
11、select et.id,et.name,decode(et.sex,null,’性别为空'1,'男'0,'女)作为性别,et.age from emp _ test et
12、decode(et.sex,null,'性别为null '1,'男性'0,'女性')的含义是:如果性别字段的值为null,那么decode函数的返回值为'性别为null '如果性别字段的值为1,
13、decode函数的返回值为'男性'如果为0,则decode函数的返回值为'女性'
本文到此结束,希望对大家有所帮助。