mysql里面的oracle decode


oracle里面有一个decode的函数,顾名思义,可以将1,2,3按照需求转成a,b,c,最后还有一个缺省值。

mysql里面好像没有这个函数。但是可以用另外的函数来实现类似的效果。

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

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

《“mysql里面的oracle decode”》 有 1 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据