Oracle中decode函数的用法

Oracle函数库中提供了很多有用的函数,比如nvl,sign,round等,其中用得比较多的,功能比较大的还是decode这个函数。这个函数的用法如下:

decode(表达式,条件1,结果1,条件2,结果2,...)中间有几个条件与结果根据个人而定,如

decode(sign(100-20),1,20,-1,100)意思是说当(100-20)大于零时,结果为20,而当(100-20)小于零时,结果为100,其中的sign只是一个判断符号的函数

假如要对一个企业的员工进行工资调整,对于3000块以下的提高10%,3000块以上的提高5%,那么如果用我们一般的做法就是对工资进行判断,如果大于3000,就加5%,而低于3000的就加10%。不过现在有了这个decode函数,那么就可以简单的用下面的语句:

select decode(sign(salary-3000),1,salary*1.1,-1,salary*1.05) from employee

哈哈,这样就简单明了啦

相关推荐