decode在mysql_Oracle中的decode在mysql中的等价实现

mysql支持if 格式:IF(expr1,expr2,expr3)如果expr1是TRUE(expr1lt;gt;;0且expr1lt;gt;;NULL),那么IF()返回expr2,否则它返

mysql支持if

格式:

IF(expr1,expr2,expr3)

如果expr1是TRUE(expr1<>;0且expr1<>;NULL),,那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值

例如

SELECT IF(1<2, 'yes ', 'no ');

输出yes

同时,还支持case

SELECT CASE WHEN 1> 0 THEN "yes " ELSE "no " END;

还是输出yes

来例子说明:

例一

//Oracle中 decode(Emergency,1,'紧急','普通')

//mysql

select a.title,if(a.Emergency=1,'紧急','普通')emergency from already_sign a

Select title,case Emergency when 1 then '紧急' else '普通' End as emergency from already_sign

例二

oracle的写法

SELECT decode(ttype,1,’a',2,’b',3,’c',’d') FROM taba

可以在mysql里写成

SELECT if(ttype=1, 'a',if(ttype=2,'b', if(ttype =3, 'c', 'd'))) FROM taba

同理

DECODE(hj_bz, 1, '总库入', 2, '总库出',3,'分库出',4,'已开票',5,'已安装',6,'已收款')

if(hj_bz=1,'总库入',if(hj_bz=2,'总库出',if(hj_bz=3,'分库出',if(hj_bz=4,'已开票',if(hj_bz=5,'已安装','已收款')))))

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值