如何在MySQL中LIKE语句中动态传值

Time:2021/06/25 11:02:00   Click:

在操作MySQL时,我们经常用到LIKE这样的SQL语句来做匹配与搜索。比如:

SELECT * FROM `shangfox_news` 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的动态参数。

四川尚狐网络-一家服务10年的专业网站制作公司,累计服务客户400+,用心,只为做好每一个网站!

TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935