【发布时间】:2014-02-18 15:24:46
【问题描述】:
我认为它会起作用的代码如下:
WHERE cp.OwnerId = 1
AND CASE
WHEN [CustAccountNote] <> 'n/a' AND [CustRulesDocPath] <> 'n/a'
THEN (cp.NAME = 'IQRRulesLinks' OR cp.NAME = 'AccountNote')
END
AND pp.lastupdated BETWEEN '01/01/2013' AND GETDATE()
如果 [CustAccountNote] 和 [CustRulesDocPath] 都为“n/a”,我不可避免地要做的是省略 THEN 语句中的内容。 T-SQL 不喜欢我正在做的事情。 (震惊)。
我将如何编写这个 WHERE 语句,以便如果这两个字段结果都是“n/a”,它不会运行“cp.Name = .....”?
【问题讨论】:
-
CASE在 T-SQL 中是一个可以返回值的 表达式 - 它不能用于有条件地执行代码块/语句。
标签: sql sql-server tsql where-clause