在MySQL中使用正确的或者更好的不相等的运算符

哪两种(语义上相同的)方法更适合testing不平等?

  1. 'foo' != 'bar' (感叹号和等号)
  2. 'foo' <> 'bar' (小于和大于V形符号)

MySQL的文档清楚地表明,他们之间没有任何区别,但是有些人似乎只是以某种方式来做这件事。 也许这只是另一个无意义的vi与emacs的辩论,但是当其他人正在阅读你的代码(以及你的查询)时,保持一定的一致性是有用的。

<>看起来很像<=>这是一个非常不被使用的操作符,但可能会导致混淆,因为两者几乎相反(除了明显的NULL情况)。

<>应该是首选,所有的东西是平等的,因为它符合SQL标准,并在技术上更便携…

!=是非标准的,但大多数数据库的实施。

sql:2008语法:

 <not equals operator> ::= <> 

很明显。

那! 字符是在美国键盘的西北angular。

微软总部位于美国的西北angular。

所以。 对微软来说是点头。

!=是微软的拒绝。

这是一个秘密的政治法规。

<>是SQL-92标准中唯一的一个。

DBA通常像<>和程序员一样!=。 只是一个观察:-)

他们是一样的, 这是纯粹的偏好

这应该给你一个好主意

运营商

!=(不等于)不等于(不是SQL-92标准)

(不等于)不等于

<>运算符是SQL标准中的一个,所以大多数了解SQL的人都会习惯它,或者至less知道它。 我自己甚至没有意识到,直到最近,还有一些SQL方言也使用!=操作符。

正如你注意到的那样,人们往往只使用一种或另一种,这是一个很好的方法,至less在一个项目的基础上。 无论你select哪个,都要保持一致。