如何执行参数化 SQL 查询(使用 LIKE 和 @ 变量)
How to execute parameterized SQL query (using LIKE with @ variable)
我想根据用户的输入进行 select 查询,LIKE
的正确语法是什么?我应该在第一行或第二行的什么地方设置 %
?
var areaName = "SELECT AOIId FROM dbo.AreaOFInterest WHERE AOIName LIKE @AOIName ";
db.Database.ExecuteSqlCommand(areaName, @searching);
如果要搜索以指定字符开头的所有名称,请指定 LIKE @AOIName + '%'
。对于包含字符串的所有名称,指定 LIKE '%' @AOIName + '%'
.
您可能还想在提供的搜索字符串中转义 LIKE 通配符,以便将它们视为文字:
var aoiNameParameterValue = AOIName.Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]").Replace("^", "[^]");
我想根据用户的输入进行 select 查询,LIKE
的正确语法是什么?我应该在第一行或第二行的什么地方设置 %
?
var areaName = "SELECT AOIId FROM dbo.AreaOFInterest WHERE AOIName LIKE @AOIName ";
db.Database.ExecuteSqlCommand(areaName, @searching);
如果要搜索以指定字符开头的所有名称,请指定 LIKE @AOIName + '%'
。对于包含字符串的所有名称,指定 LIKE '%' @AOIName + '%'
.
您可能还想在提供的搜索字符串中转义 LIKE 通配符,以便将它们视为文字:
var aoiNameParameterValue = AOIName.Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]").Replace("^", "[^]");