mysql数据库中用数据库字段作为变量进行LIKE模糊查询!请看详细补充!

mysql数据库中用数据库字段作为变量进行LIKE模糊查询!请看详细补充!,第1张

select t.gmt_Id_i ,t.gmt_Name_v,

( select count(*) from tb_mgoods where goods_MoreType_v like '%/[' + t.gmt_Id_i + '/]%' escape '/') as counts

from tb_mgoodsmoretype t where t.gmt_Id_i in(10,121)

注意: like '%某字符串%' 等效于 like '%'+'某字符串'+'%',由于gmt_Id_i是字段名称,故不能使用 like '%gmt_Id_i%' 必须使用 like '%' + gmt_Id_i + '%' ,另外由于你的goods_MoreType_v字段含有[],必须使用转义符,把[]转为字符串[],否则,sql会理解[]为通配符使用,还有 sql中转义符\ 解释为把该字符后的第一个字母转成普通的字符。

三种方法:

【一】像你这种aa前后都是特殊字符,而且最外侧是双引号的可以直接写变量

$result = mysql_query("SELECT * FROM table1 WHERE name LIKE '%$var%'")

【二】也可以使用点连接符对字符串进行连接:

$result = mysql_query("SELECT * FROM table1 WHERE name LIKE '%" . $var . "%'")

【三】可以使用{}代码域来分隔变量名,这种用法更适用于变量后有数字、字母、下划线的情况,它可以明确地将变量与字符串区分开来:

$result = mysql_query("SELECT * FROM table1 WHERE name LIKE '%{$var}%'")


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7567139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存