为什么SQL语言中有两个否定运算符? !=
和<>
。
它们是多余的还是它们之间存在差异,具体取决于操作数?
我应该使用哪一个来否定MySQL
中的字符串?
答案 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文档。