【发布时间】:2014-10-06 08:36:27
【问题描述】:
我在 SQL Server 2008 中有一个用于从表中获取数据的存储过程。
我的输入参数是:
@category nvarchar(50) = '',
@departmentID int
我的 Where 子句是:
WHERE A.departmentID = @departmentID
AND A.category = @category
有什么方法可以在此 Where 子句中应用 Case 语句(或类似的语句)来表示它只应在 @category 不是 '' 并且 否则选择所有类别时检查类别匹配强>?
我在这里唯一能想到的就是使用以下内容。从技术上讲,这是可行的,但是我无法检查此处所需的确切类别匹配:
WHERE A.departmentID = @departmentID
AND A.category LIKE '%'+@category+'%'
【问题讨论】:
标签: sql sql-server case where where-clause