我正在使用SQLServer 2008并遇到此问题。我有一个功能,用户可以从菜单中选择多个日期。他们还可以勾选“选择所有日期”复选框。条件where子句SQLServer
如果他们选中复选框,我的查询应该只返回给定日期的结果。因此执行一个WHERE子句。 如果他们没有选择复选框,但选择了一个或多个日期;该查询应该使用where子句执行。
我有2个参数。 -SelectedDates(如 '2012年11月15日', '2012年11月15日'。) -AllDates( 'X' 或 '')
通常情况下,查询对子级是这样的:
SELECT * FROM x
WHERE x.date in ([Param.1])
所以我的问题:如何在WHERE子句不需要的情况下适应查询。
FYI:在[Param.1]符号是我在工作环境中使用
'... OR AllDates ='X''? –
你必须使用T-SQL(一个带有逻辑的存储过程,例如,如果参数值是X,那么你可以执行一个语句,否则执行一个语句),请参阅http://msdn.microsoft.com/en-us/library/ms182717。 ASPX –