"SELECT CAST(SUBSTRING(MAX(BoxID), 10, 3) AS int) from Box WHERE BoxID like '%' + @subString + '%'"
参数化的意义在于把对应的值从参数中提供,对于like语句,like后面的值则包括了单引号中的所有部分,包括百分号(%),因此在参数化like对应的值时,应该把百分号移到参数值中提供,像这样:
Cmd.Parameters["@KeyWord"].Value = "%" + StrKeyWord + "%";
可别奢想在sql语句中像这样的样子:
Select * From [TableName] Where [Column1] like '%@KeyWord%'
不会报错,不过你不可能查询到想要的结果
本文介绍了在SQL查询中如何正确使用参数化方法进行Like条件匹配,并解释了为何需要将通配符百分号(%)包含在参数值中而不是直接写在SQL语句中。

4316





