Lyn*_*ler 4 sql t-sql sql-server logic operators
我有一个如下表:
(date1, date2, date3, date4, date5)
Run Code Online (Sandbox Code Playgroud)
我想检查这些日期中的任何一个是否与其他日期不同.简单的解决方案是:
WHERE date1 <> date2
OR date1 <> date3
OR date1 <> date4
OR date1 <> date5
OR date2 <> date3
OR date2 <> date4
OR date2 <> date5
OR date3 <> date4
OR date3 <> date5
OR date4 <> date5
Run Code Online (Sandbox Code Playgroud)
任何重要的解决方案?
除此之外,你的琐碎案例可以真正简化为公正
WHERE date1 <> date2
OR date1 <> date3
OR date1 <> date4
OR date1 <> date5
Run Code Online (Sandbox Code Playgroud)
使用DeMorgan定律,这与
WHERE NOT(date1 = date2
AND date1 = date3
AND date1 = date4
AND date1 = date5)
Run Code Online (Sandbox Code Playgroud)
然后由传递特性的的平等关系,我们就知道,如果DATE1等于其他4个值,那么所有5彼此相等.