一尘不染

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

mysql

两种(在语义上等效)哪种方法更适合测试不平等现象?

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

MySQL文档清楚地表明它们之间没有区别,但是有些人似乎只喜欢一种或另一种方式。也许这只是vi与emacs争论的另一场毫无意义的事情,但是当其他人正在阅读您的代码(以及您的查询)时,保持某些一致性很有用。

<>看起来很像<=>是一个未充分使用的运算符,但由于两者几乎相反(明显的NULL情况除外),因此乍看之下可能会引起混乱。


阅读 515

收藏
2020-05-17

共1个答案

一尘不染

在所有条件都相同的情况下,应该首选<>,因为它符合sql标准并且在技术上更具可移植性…

!=是非标准的,但是大多数数据库都实现了它。

sql:2008语法:

<not equals operator> ::=
  <>
2020-05-17