我正在使用 SQLServer 2008 并遇到了这个问题。我有一个功能,用户可以从菜单中选择多个日期。他们还可以选择勾选“选择所有日期”复选框。
如果他们选中复选框,我的查询应该只返回给定日期的结果。因此执行一个 WHERE 子句。如果他们没有选择复选框但选择了一个或多个日期;查询应使用 where 子句执行。
我有 2 个参数。-SelectedDates(例如'2012-11-15','2012-11-15') -AllDates ('X' or '')
通常查询应该是这样的:
SELECT * FROM x
WHERE x.date in ([Param.1])
所以我的问题是:如果不需要 WHERE 子句,我该如何调整查询。
仅供参考:[Param.1] 符号用于我工作的环境中。