首页 > 数据库 >MYSQL实现Oracle中decode函数

MYSQL实现Oracle中decode函数

时间:2024-08-30 14:39:55浏览次数:11  
标签:result2 when result1 decode value1 MYSQL Oracle expression

背景:

写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
case when expression=value1 then result1 else result2 end;
 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);

标签:result2,when,result1,decode,value1,MYSQL,Oracle,expression
From: https://www.cnblogs.com/ios9/p/18388720

相关文章