逻辑从消极变为肯定

时间:2015-02-25 12:14:11

标签: sql sql-server logic

以下是有效的,但同事正在努力解决这个问题:

WHERE 
    FirstDate <> '01 JAN 2015'
    OR
    Name NOT IN ('Foo', 'Bar')

从上面切换到使用=代替<>IN而不是NOT IN的脚本是否容易?

任何更改都不应影响返回的数据:我们只是想让代码更具可读性。

1 个答案:

答案 0 :(得分:4)

使用De Morgan定律:

WHERE NOT (
    FirstDate = '01 JAN 2015'
    AND
    Name IN ('Foo', 'Bar') )

您仍然需要使用NOT运算符。

通过维基百科:

  

enter image description here