Oracle decode函数学习

基本语法

语法一

decode(条件,值1,返回值1,值2,返回值2,...,值n,返回值n)

解释

如果条件=值1,则结果为返回值1,
如果条件=值2,则结果为返回值2,
。。。
如果条件=值n,则结果为返回值n

语法二

decode(字段或字段的运算,值1,值2,值3)

解释

当字段或字段运算的值等于值1时,函数返回值为值2,否则为值3
这里的值1,值2,值3也可以是表达式

使用场景

比较大小

select decode(sign(变量1-变量2), -1, 变量1, 变量2) from dual;

注意:sign()函数根据某个值是0,正数,负数,分别返回0,1,-1

SQL语句中的使用

decode函数与一系列嵌套的if-then-elsif语句相似

order by 对字符串进行特定的排序

例如:
表table_subject中有subject_name列,要求按照语文,数学,英语的顺序排列

select * from table_subject order by decode(subject_name,'语文',1,'数学',2,'英语',3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值