【发布时间】:2020-01-10 15:00:48
【问题描述】:
如果满足其中一个条件,如何在where子句中使用case when then?我需要的是如果满足第一个条件后只有一个条件要执行如果一个条件满足以下条件,它不会被执行。case 语句将在第一个条件满足时停止进一步评估
SELECT TOP 100 ProjType, projCost, InvestAmount, ProjBuildSize
FROM dbo.Project
WHERE
(
CASE
WHEN projCost > 0 then projCost end >= 10000000
WHEN InvestAmount IS NOT NULL then InvestAmount end >= 12000000
WHEN ProjBuildSize > 0 then ProjBuildSize ELSE >= 5000
END
)
【问题讨论】:
-
你想要一个
OR条件? -
仅供参考:
InvestAmount <> NULL不会按您的意愿工作,它应该是InvestAmount is not NULL
标签: sql sql-server