YashanDB DECODE函数

DECODE表达式相当于条件表达式,与一系列嵌套的 IF-THEN-ELSE语句类似。

expr的值等于其后列出中的某一个指定value,则返回紧接着该value后的result;若不等于所列出的所有value,则返回default;当expr与多个value匹配成功时,返回第一个value对应的result。

本函数通常用于做排名等级判断。

当expr与各value之间的数据类型不一致时:

  • 同时存在数值型和布尔型时,函数返回invalid datatype。

  • 其它场景中,函数先将数据类型进行统一再比较,统一规则参见比较运算符章节描述。

value也为通用表达式,参照expr描述。

空值同样参与比较,其中,当expr与value均为NULL时,执行匹配成功处理。

示例

SELECT employee_name Name,
DECODE(sex,'1','Male','2','Female','Unknown') Sex
FROM employees;
NAME          SEX      
------------- ---------
Mask          Male    
John          Male    
Anna          Unknown 
Jack          Male    
Jim           Male    
 
SELECT DECODE('',1,1,2) res1,
DECODE(1,1,1,'1',2,3) res2,
DECODE(1,'',1,'1',2,3) res3,
DECODE('','',1,3) res4
FROM DUAL;
        RES1         RES2         RES3         RES4
------------ ------------ ------------ ------------
           2            1            2            1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值