Pregunta

¿Cuál de las dos maneras (semánticamente equivalentes) es preferible para la prueba de la desigualdad?

  1. 'foo' != 'bar' (signo de exclamación y signo igual)
  2. 'foo' <> 'bar' (menos que y mayor que símbolos de cheurón juntos)

La documentación de MySQL indica claramente que no hay diferencia entre ellos y sin embargo, algunas personas parecen estar unido a solamente lo hace de un modo u otro. Tal vez esto es sólo otro sentido VI vs emacs debate, pero cuando otras personas están leyendo su código (y por lo tanto sus consultas), que es útil para mantener una cierta coherencia.

<> se parece mucho a <=> que es un operador muy poco usado, pero tal vez podría inducir a confusión a simple vista ya que los dos son casi enfrente (a excepción de los casos NULL obvias).

¿Fue útil?

Solución

se debe preferir, en igualdad de todas las cosas, ya que acuerda con el estándar SQL y es técnicamente más portátil <> ...

! = No es estándar, pero la mayoría de los DB implementan.

SQL: la gramática de 2008:

<not equals operator> ::=
  <>

Otros consejos

Es obvio.

El! personaje está en la esquina noroeste de los teclados de los Estados Unidos.

La sede central de Microsoft están en la esquina noroeste de los EE.UU..

Así. <> es un guiño a Microsoft.

!= es un rechazo de Microsoft.

Es un código secreto político.

<> es el único en el estándar SQL-92.

DBA en general, como <> y programadores como! =. Sólo una observación: -)

Son los mismos, es puramente preferencia .

Esto debe darle una buena idea

Operadores

  

! = (No es igual a) No es igual a   (No SQL-92 estándar)

     

<> (no igual a) No igual a

El operador <> es el que está en el estándar SQL, por lo que la mayoría de la gente que sabe de SQL estarán acostumbrados a él, o al menos consciente de ello. Yo mismo ni siquiera era consciente de que el operador != también estaba disponible en algunos dialectos SQL hasta hace poco tiempo.

Como habrá notado, la gente tiende a utilizar sólo uno o el otro, y que es un buen enfoque, al menos sobre una base de proyecto por proyecto. Cualquiera que elija utilizar, sea constante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top