sql否定运算符:!= vs<>

时间:2015-12-12 12:22:47

标签: sql negation

为什么SQL语言中有两个否定运算符? !=<>

它们是多余的还是它们之间存在差异,具体取决于操作数?

我应该使用哪一个来否定MySQL中的字符串?

2 个答案:

答案 0 :(得分:5)

  • <>是ISO Sql标准
  • !=是特定于供应商的

他们两者之间没有区别。这只是个人偏好,可以使用。我总是喜欢<>,因为它是 ISO SQL 标准

答案 1 :(得分:2)

SQL标准仅指定<>不等于。 SQL:2011 Foundation,第5.2节 <token><separator> 指定:

<not equals operator> ::=
  <>

然而,一些SQL实现(如MySQL)也支持!=,因为许多程序员对{not}更熟悉!=。它们是完全等效的,因此您可以使用其中任何一个,但从标准的角度来看,您应该使用<>

另请参阅not equals的MySQL文档。