oracle decode

select tc.calculate_id,decode(tc.region_flag,1,'农网',0,'城网')as region_flag,tc.calculate_factor,tc.calculate_range from t_calculate tc order by tc.calculate_id

 

 

decode函数
decode()函数是Oracle PL/SQL是功能强大的函数之一,目前还只有Oracle公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。

DECODE的语法:
    DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。

DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
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

 

自己给出的实例:
select DECODE(-1, 1, 1, 2, 2, 0) from dual;//0;解释:-1和1比较,不等于1,接着-1和2比较,不等于2,则默认显示0;

select DECODE(-1, -1, -1, 0, 0, 1, 1, -2) from dual;//-1; 解释:-1和-1比较,等于-1,显示-1,结束后面的匹配;

你可能感兴趣的:(oracle)