oracle数据库----decode函数的使用

decode的几种用法

1.使用decode判断字符串是否一样

DECODE(字段名,if1,then1,if2,then2,if3,then3,…,else)
含义为
IF 字段名的值=值1 THEN
    RETURN(value 1)
ELSIF 字段名的值=值2 THEN
    RETURN(value 2)
    …
ELSIF 字段名的值=值n THEN
    RETURN(value 3)
ELSE
    RETURN(default)
END IF

例如:

decode(THAW_RESULT,0,'解冻失败',1,'解冻成功',THAW_RESULT) as thawResult

结果:
(左边数据库,右边页面)
在这里插入图片描述

2.使用decode比较大小

select decode(sign(var1-var2),-1,var 1,var2) from dual
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

简单来说就是: sign(var1-var2)返回的值 是否等于 -1, 结果为true时 为var 1,结果为false时 为var 2

例子测试:

select decode(sign(100-90),-1,100,90) from dual
输出结果
90
100-90=10>0 则会返回1,所以decode函数最终取值为90
反正
select decode(sign(100-90),1,100,90) from dual
输出结果
100
100-90=10>0返回1,判断结果为1,返回第一个变量100,最终输出结果为100

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值