是否可以在 SQL 服务器存储过程参数中使用通配符?
Is it possible to use wildcards in SQL Server Stored Proc parameters?
我正在使用带有多个参数的存储过程。不过,事实证明,对于其中一个参数,我需要遍历项目列表并多次调用 SP。但是当我向 SP 传递该类型的每个可能值时,通过使用通配符说 "get them all" 来绕过参数似乎更有效(也更简单)。
是否可以这样做,例如使用“*”或“%”之类的东西?
理论上(根据我所做的研究),“%”应该有效,但在我的例子中它没有返回任何记录。我用这段代码做错了什么吗:
. . .
new SqlParameter()
{
ParameterName = "@Member",
SqlDbType = SqlDbType.VarChar,
Value = '%'
},
. . .
?
没有。在无法修改存储过程代码的情况下,您无法将任何内容作为通配符传递的参数。
我正在使用带有多个参数的存储过程。不过,事实证明,对于其中一个参数,我需要遍历项目列表并多次调用 SP。但是当我向 SP 传递该类型的每个可能值时,通过使用通配符说 "get them all" 来绕过参数似乎更有效(也更简单)。
是否可以这样做,例如使用“*”或“%”之类的东西?
理论上(根据我所做的研究),“%”应该有效,但在我的例子中它没有返回任何记录。我用这段代码做错了什么吗:
. . .
new SqlParameter()
{
ParameterName = "@Member",
SqlDbType = SqlDbType.VarChar,
Value = '%'
},
. . .
?
没有。在无法修改存储过程代码的情况下,您无法将任何内容作为通配符传递的参数。