Oracle Decode函数的简单用法与个人理解

Oracle Decode函数的简单用法

个人的简单理解

本人在尝试用了之后发现,decode的用法其实与Excel中IF的用法类似
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,默认值)
其中条件可以是列名,与之对应的则是每列当中的数据
可以将该函数理解为一个简单的If判断语句
IF 条件=值1
THEN
    RETURN(返回值1)
ELSIF 条件=值2
THEN
    RETURN(返回值2)
    …
ELSIF 条件=值n
THEN
    RETURN(返回值n)
ELSE
    RETURN(默认值)
END IF

举例说明

从如下表中捞取数据
在这里插入图片描述
执行一段SQL
目的为:将性别为男的人员标记为1,性别为女的人员标记为2

select name,decode(gender,'男',1,2)as number from table_name(对应的表名);

理解为IF语句
IF gendor的值=‘男’ THEN
    RETURN(1)
ELSE
    RETURN(2)
END IF
查询结果如下
在这里插入图片描述

上述的SQL也可以转换为

select name .decode(gender,'男',1,'女',2,3)as number from table_name(对应的表名)

对应的IF判断可以理解为
IF gender的值=‘男’ THEN
    RETURN(1)
ELSIF gender的值=‘女’ THEN
    RETURN(2)
ELSE
    RETURN(3)
END IF

总而言之,根据实际的使用情况总结下来,可以先通过能否将所需要的结果转换为IF判断语句来选择是否需要采用decode函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值