MYSQL实现Oracle中decode函数

MYSQL实现Oracle中decode函数

码农世界 2024-06-13 后端 106 次浏览 0个评论

背景:

写oracle脚本迁移mysql时,mysql不支持decode函数

思路:

理解decode函数使用方法及参数含义

1、decode(expression,value,result1,result2)

      理解:如果expression=value,则输出result1,否则输出result2

2、decode(expression,value1,result1,value2,result2,value3,result3......,default)

      理解:如果expression=value1,输出result1,

                       expression=value2,输出reslut2,

                       expression=value3,输出result3,

       以此类推 若expression不等于所列出的所有value,则输出为default

改写方法:

1、使用case when

1.case when expression=value1 then result1 else result2 end;
2.case when expression=value1 then result1 
       when expression=value2 then result2 
       when expression=value3 then result3
       when ......
  else default end;

2、使用 IF (判断的值有限)

IF(T.EXPRESSION=VALUE1,RESULT1,RESULT2);

转载请注明来自码农世界,本文标题:《MYSQL实现Oracle中decode函数》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,106人围观)参与讨论

还没有评论,来说两句吧...

Top