mysql数据库中用数据库字段作为变量进行LIKE模糊查询!请看详细补充!
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中转义符\ 解释为把该字符后的第一个字母转成普通的字符。
SQL模糊查询Like语句中可以用变量吗
sql的模糊查询like字句是可以的使用变量的,具体操作步骤如下:
1、首先我们需要在数据库中准备演示数据。
2、接下来就直接在select中运用like,最普遍的是和两个%搭配。
3、接着如果百分号放在like查询串的后面则代表后面的内容不限制。
4、然后如果将百分号放在like查询串的前面,则代表以什么结尾,前面的内容不限制。
5、另外like查询串中还可以使用下划线,代表占位符。
6、后如果like串中出现中括号则代表的是可选内容。
php+mysql+like+通配符+变量
三种方法:
【一】像你这种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}%'");