MySQL语法说明
一、mySql中IFNULL的使用说明
IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值
二、concat的使用说明
mysql CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
三、instr的使用说明
INSTR(STR,SUBSTR)
在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX);
STR 被搜索的字符串
SUBSTR 希望搜索的字符串
结论:在字符串STR里面,字符串SUBSTR出现的第一个位置(INDEX),INDEX是从1开始计算,如果没有找到就直接返回0,没有返回负数的情况。
四、应用
select t.id from test t where t.status=1 and
INSTR(concat(IFNULL(t.target_name,’’),IFNULL(t.target_person,’’),IFNULL(t.target_contact_tel,’’),IFNULL(t.target_address,’’)),#{keyword})>0
keyword 是查询参数,其余是匹配比较字段。