sql使用“小于或等于”& “不大于”

时间:2011-11-03 17:39:53

标签: sql comparison-operators

为什么有两个不同的逻辑运算符似乎做同样的事情(< =&!>),是否有人会优先于另一个?

6 个答案:

答案 0 :(得分:7)

< =和>是比较运算符,而不是逻辑运算符。 !是一个逻辑运算符(表示NOT)。当你结合!和>,你只是反转一个比较运算符,所以你的最终结果是一样的。

话虽如此,< =是常见的形式,所以我说它是首选,为了可读性,如果没有别的。我不知道两者是否有性能优势,但我对此表示怀疑。

编辑: 此外,您没有说出您正在处理的SQL风格。正如@harryovers指出的那样,这是MS-SQL中的有效运算符,但它可能无处不在。

答案 1 :(得分:4)

我不明白为什么你会使用一个而不是另一个,但!>不符合ISO标准,基于此我会说<=是首选方式。

答案 2 :(得分:4)

拥有!&gt;的一个原因alternaive是为了方便将SQL放入XML中。小于号引入了XML标签。如果SQL带有&lt;包含在XML或HTML中,它必须作为&amp; LT;进行转义。一个大于号并不代表任何特殊的东西,除非它之前有一个小于号。

答案 3 :(得分:1)

不,没有区别。我能想到的唯一理由是在某种情况下使其更具人性化。

E.g。出于同样的原因,如果 5 对上下文中的某些限制有重要意义,我会使用< 5而不是<= 4

答案 4 :(得分:1)

!=!<!>不是标准比较运算符,仅受少数系统支持,SQL-Server为1: msdn: Comparison Operators (Transact-SQL) 。 MySQL也支持!=但仅支持<>,而不支持其他两个。

等效的标准SQL比较运算符为>=<=和{{1}}。

在所有情况下,我更喜欢标准。您不知道何时必须将代码迁移到另一个平台(并且处理的错误较少。)

答案 5 :(得分:0)

当你说逻辑运算符逻辑是ANDOR我从未见过!&gt;我见过<>

如果您指的是!=<>,则它们是相同的。