( 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}%'")欢迎分享,转载请注明来源:内存溢出
评论列表(0条)