首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle中decode函数的应用

2012-07-08 
Oracle中decode函数的使用含义解释: DECODE(条件,值1,结果值1,值2,结果值2,...值n,结果值n,缺省值)该函数

Oracle中decode函数的使用

含义解释:

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

使用方法:

1、比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。

举一个例子说明:

??????? 不使用decode函数,

??????????select? num from students;

???????????????

NUM60708090

??????

???????? select decode(sign(num-80),1,num+2,-1,num+5,num) as?new_num?from students;

?

NEW_NUM62738095

????? sign函数: 当括号中的表达式返回值大于0时,函数值返回1,表达式返回值小于0时,函数值返回-1,否则返回0.

?

?

?????? 意思是,成绩小于80的,加上2,成绩大于80的,加上5,否则不加。

?

??? Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用Oracle中decode函数的应用

???????

?

热点排行