我有 2 个字段要在 WHERE
语句中发送值。
在我想象的世界中,不知何故这会起作用:
Where CASE WHEN @ReportType = 0 THEN
od.StatusCd = 100 AND odm.StatusCd = 100
WHEN @ReportType = 1 THEN
od.statusCd = 101 AND odm.StatusCd = 101
End
And od.CompletionDate between ....
And so on....
我知道这是错误的。但这就是我现在所处的位置。
最佳答案
如果我理解你想要做什么,这应该有效:
Where
(
(@ReportType = 0 AND od.StatusCd = 100 AND odm.StatusCd = 100)
OR
(@ReportType = 1 AND od.statusCd = 101 AND odm.StatusCd = 101)
)
And od.CompletionDate between ....
And so on....
关于sql - Where 子句取决于变量的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26244819/