【发布时间】:2011-04-22 10:43:02
【问题描述】:
在 SQL 查询中,包含
... WHERE MYID = @1 ....
我必须处理 2 个案例
1) 列上有一个过滤器,@1 将是一个数字 (1,2,X...)
2) 该列上没有过滤器,@1 将是...? (任何)
这个“任何”(SQL Server 2005)有什么东西吗?
附言。
显然,我知道我可以删除“哪里”。
PPS。
我解释一下自己以便更好地理解:我在代码中有这个查询,并且想在过滤器打开时传递一个整数作为参数,当我的过滤器关闭时传递“某事”。
if (filterOn)
GetFoos(fooID);
else
GetFoos("ANY");
GetFoos(param1): "select * from FOOS where FOOID = {0}", param1
【问题讨论】:
-
你为什么不直接执行 2 个分离查询。根据@1 值选择一个。
标签: sql sql-server-2005