【发布时间】:2020-08-05 17:48:19
【问题描述】:
AND (
(mmd.TerminationDate IS NOT NULL AND mmd.TerminationDate >= '01-Jan-2019')
OR mmd.TerminationDate IS NULL
)
AND (mmd.TerminationDate IS NULL OR mmd.TerminationDate >= '01-Jan-2020')
【问题讨论】:
-
你打错了吗?一个条件是 2020 年 1 月 1 日,而另一个是 2019 年 1 月 1 日
-
您检查过查询计划吗?
-
没有区别:假设 a =
mmd.TerminationDate is NULL, b =mmd.TerminationDate >= '01-Jan-2019'。 (不是 a ∧ b) ∨ a = (不是 a ∨ a) ∧ (b ∨ a) = b ∨ a = a ∨ b。就布尔逻辑而言,这两个条件之间没有区别。
标签: sql sql-server tsql date where-clause