【问题标题】:Mysql != vs <> comparisons [duplicate]Mysql != vs <>比较[重复]
【发布时间】:2014-05-15 04:31:08
【问题描述】:

MySQL 支持 2 种不同的不等于运算符,!= 和 。

在特定情况下您希望使用 1 而不是另一个时,两者的功能有什么不同吗?

【问题讨论】:

标签: mysql comparison


【解决方案1】:

它们是一样的。两者都是两个 Not Equal To 运算符。但是 != 不是 ISO 标准。

!=
测试一个表达式是否不等于另一个表达式(比较运算符)。如果其中一个或两个操作数为 NULL,则返回 NULL。功能与 (不等于)比较运算符相同。


比较两个表达式(比较运算符)。比较非空表达式时,如果左操作数不等于右操作数,则结果为 TRUE;否则,结果为 FALSE。

【讨论】:

    【解决方案2】:

    正如 Adriano 之前所说,完全一样,请参阅文档: https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

    这个问题确实显示出相当缺乏研究。

    【讨论】:

    • 你的最后一句话是不必要的。
    • 这是 1 Google 直接搜索开发人员文档,它列出了两个运算符的操作方式相同。正如 Up_One 在他的回复中提到的,!= 不是标准的,但许多开发人员会熟悉它,而 是标准的,并且在几乎所有数据库系统中都得到了广泛实施。
    • 文档没有提到这一点。我不了解你,但我也不生活在一个文档总是 100% 完整的世界。无论如何,您粗鲁的 cmets 对您的答案没有任何帮助。如果你觉得你必须制作它们,那么它们属于评论......
    • 这很公平,但文档至少应该是一个起点。这已经是这个问题的答案了:stackoverflow.com/questions/2066987/… 你已经指出了......所以......
    • 问题说明“功能是否有任何区别......” - 手册准确地回答了这个问题。总的来说,一个人是否更好是有争议的,也是一个见仁见智的问题。
    【解决方案3】:

    两者在 MySQL 中没有区别,它们的行为相同。但是&lt;&gt; 是标准 SQL,所以如果您习惯使用它,那么如果您迁移到不支持 != 的 RDBMS 将不会有任何问题

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2013-09-30
      相关资源
      最近更新 更多