广州建站平台哪家好,桥头网站仿做,合肥商城网站开发,买域名去哪个网站好mysql 多重like 解决方案 方案一、使用like 方案二、使用REGEXP 正则匹配 方案三、使用group_concat多重模糊匹配 方案一、使用like 查询user包含小李并且小王的相关数据 SELECT * FROM user WHERE name LIKE %小王% or name like %小王%
方案二、使用REGEXP 正则匹配 查询use…mysql 多重like 解决方案 方案一、使用like 方案二、使用REGEXP 正则匹配 方案三、使用group_concat多重模糊匹配 方案一、使用like 查询user包含小李并且小王的相关数据 SELECT * FROM user WHERE name LIKE %小王% or name like %小王%
方案二、使用REGEXP 正则匹配 查询user包含小李并且小王的相关数据 SELECT * FROM user WHERE name REGEXP 小王|小王
方案三、使用group_concat多重模糊匹配 如果需要匹配的数据条件很多又不想一个个打可用下列方式 1.将需要的数据模糊匹配的数据作为条件 select name from contract where age18;
2.利用group_concat将条件数据进行合并字符串化并且转换成REGEXP正则格式就可以实现 select * from user wherenameregexp (select CONCAT(,GROUP_CONCAT(nameorder bynameSEPARATOR |),) asnamefrom user wherenamein (selectnamefrom user where age18));
思路使用group_concat函数把需要模糊条件的数据进行合并为一个数据将合并数据后分隔符默认值 “,” 改成REGEXP 格式的 “|”、再利用CONCAT连接字符串函数将结果前后添加单引号CONCAT(‘,GROUP_CONCAT(name order by name SEPARATOR ‘|’),’),最后把子查询字符串后返回的结果作为REGEXP 条件即可
上列sql 性能可能不太好本文章注重实现如果你有更好的建议可以留言改进