0

这是我的场景,用户可以选择 2 个可能的参数(@param1,@param2)。如果用户选择 param1,则 WHERE 子句使用第一个。如果用户选择 param1 和 param2,那么它们都用于 WHERE 子句。

如果我可以访问 DOM,我可以使用一些基于控件的 c# 逻辑。在这种情况下,我不能这样做,所以它需要是纯 t-sql。这是我需要完成的一些伪代码:

// NOT REAL CODE 
 IF param1 is selected and param2 is not then use param1 
 IF param1 and param2 are selected use both (I can do this part with an IN statement) 

如何使用纯 tsql 完成此操作?

4

1 回答 1

0

我相信这就像您要执行的操作:How To Include An Optional Null Parameter In SQL Server

你可以这样做:

SELECT *
  FROM myTable
  WHERE
    (@param2 IS NULL AND myCol = @param1) OR
    (@param2 IS NOT NULL AND myCol IN (@param1, @param2))
于 2013-05-20T20:50:00.030 回答