背景:
写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