在操作MySQL时,我们经常用到LIKE这样的SQL语句来做匹配与搜索。
比如:
SELECT * FROM `yi18_cook` WHERE tag LIKE '%tag%'
这里的‘%tag%’ 我们可以通过拼接的方式来做,但这样我们是预先定义
好的 。如果LIKE匹配的需要动态的重数据库里面取出来在匹配?
1、取得要匹配的关键词
select name from yi18_cookclass where id =?
2、通过拼接的方式
SELECT * FROM `yi18_cook` WHERE tag LIKE '%(select name from yi18_cookclass where id =?)%'
我们一看这样的SQL就不对,当然也没有我们需要的结果。但我们可以通过这样的思路做一点小
的调整CONCAT()拼接函数:
SELECT * FROM `yi18_cook` WHERE tag LIKE
CONCAT('%',(select name from yi18_cookclass where id =?),'%')
OK,这样就友好的使用函数的拼接的方式,实现了KIKE的动态参数。
该贴由hui.chen转至本版2014-11-5 16:11:47