Mysql中decode函数的几种用法
1、使用decode判断字符串是否一样
decode(value,if1,then1,if2,then2,if3,then3,...,else)
含义为
IF 条件=值1 THEN
RETURN(value 1)
ELSIF 条件=值2 THEN
RETURN(value 2)
......
ELSIF 条件=值n THEN
RETURN(value 3)
ELSE
RETURN(default)
END IF
示例:
![](https://img2018.cnblogs.com/blog/1105091/201909/1105091-20190926171244675-1591493191.png)
2、使用decode比较大小
select decode(sign(var1-var2),-1,var1,var2) from dual
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
示例:
![](https://img2018.cnblogs.com/blog/1105091/201909/1105091-20190926171302395-1795001109.png)
3、使用decode函数分段
工资大于5000为高薪,工资介于3000到5000为中等,小于3000为低薪
示例:
![](https://img2018.cnblogs.com/blog/1105091/201909/1105091-20190926171317429-1202924193.png)
4、利用decode实现表或者视图的行列转换
5、使用decode函数来使用表达式来搜索字符串
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
![](https://img2018.cnblogs.com/blog/1105091/201909/1105091-20190926171402938-1276144109.png)