mysql if判断字符串比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql if判断字符串比较相关的知识,希望对你有一定的参考价值。

一、ifnull判断

select ifnull(param,1); #如果param为null则输出1,如果不为null,则输出param
当使用concat拼接时,如果有列值为null,结果从null到最后都是一个null填充,不会再显示后面的拼接内容
此时又想要保留null,
可以对列值进行判断
ifnull(param,null) #这时候即使列值是null,也会在输出结果显示,并且显示后面的拼接内容

二、if字符串判断

1、简单字符串相等判断
if(param=login,1,2)
#如果param的值为login,则输出1,否则输出2
if(login=login and ab=ab,1,2) ==>输出1

2、使用STRCMP()进行字符串相等判断
比较函数里面的两个字符串,若所有的字符串均相同,则 STRCMP()返回 0,若第一个参数小于第二个,则返回-1,其它情况返回1
if(STRCMP(param,ab) ,yes,no)
#只有param=ab,才会判断为0,输出no,其他情况都输出yes

3、使用instr()字符串包含判断
instr()返回字串第一次出现的索引,没有返回0
if(instr(小白很菜,小白),1,0) ==>输出1
if(instr(小白很菜,小白1),1,0) ==>输出0

4、配合运算符判断
if(instr(abc,ab) or instr(123,45),1,0) ==>输出1
if(instr(abc,ab) and instr(123,45),1,0)==>输出0
if(instr(abc,ab) and not instr(123,45),1,0)==>输出1

5、判断中加判断
if(instr(abc,bd),1,0) ==>输出0,如果把0换成一个新的判断
if(instr(abc,bd),1,if(instr(123,12),4,5)) ==>输出4

以上是关于mysql if判断字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

shell选择结构(if)

语句结构

mysql-存储过程-逻辑判断语句

有趣的脚本(比较2个整数大小,禁止使用if判断)

shell编程之if语句

shell 脚本中 空格的注意问题:= 赋值两边不能有空格,而if比较判断时 = 两边必须加空格