我需要在 where
子句中添加 case
语句。我希望它根据 TermDate 的值运行下面的任一语句。
Select *
from myTable
where id = 12345
AND TermDate CASE
WHEN NULL THEN
AND getdate() BETWEEN StartDate AND DATEADD(dd, 30, StartDate)
ELSE
AND GETDATE < TermDate
END
最佳答案
为什么不直接使用 OR
条件?
SELECT *
FROM myTable
WHEN id = 12345
AND ((TermDate IS NULL AND
getdate() BETWEEN StartDate AND DATEADD(dd, 30, StartDate)) OR
GETDATE() < TermDate)
关于sql - 在Where子句中添加Case语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21919089/