一、直接拼接
mysql数据库会报错,sqlserver支持
select cat_id from ecs_category where cat_name LIKE '%' + #{catName} + '%';
二、用concat函数
select cat_id from ecs_category where cat_name LIKE concat('%',#{catName},'%');
三、用LOCATE实现模糊查询
select cat_id from ecs_category WHERE LOCATE(#{catName},cat_name) >0
记录一下 LOCATE的用法
1、LOCATE(substr,str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:
SELECT LOCATE('xiaobu', 'xiaobu1994xiaobu');
==>1
2、LOCATE(substr,str,pos)
返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 :
SELECT LOCATE('xiaobu', 'xiaobu1994xiaobu',5);
==>11