我从任意来源引入参数,可能有 1,2 或 3 个参数需要作为 sql 查询中的 where 子句传递。
如何编写此查询,以便无论传递什么参数,查询都将使用尽可能多的参数运行。我刚在想:
Passed in: x=1,y=null,z=5
//Do some simple checks and assign local variables when the value are not null.
if(arg == null)
{
arg = (/*some wild card that allows any value to be returned*/)
}
else{
arg = arg
}
生成的子句: WHERE X=localx AND Y=(ANY VALUE) AND Z=localz
在这个例子中我可以为 Y 使用什么,这样我就可以避免动态创建一个带有可变数量的 args 的字符串?我发现自己很难阐明这个问题。