35 votes

Utiliser l'opérateur correct, ou préférable, différent de MySQL

Lequel des deux (sémantiquement équivalent) des moyens est préférable de tester l'inégalité?

  1. 'foo' != 'bar' (point d'exclamation et le signe égal)
  2. 'foo' <> 'bar' (inférieures et supérieures à chevron symboles)

La documentation de MySQL indique clairement qu'il n'y a pas de différence entre eux et pourtant, certaines personnes semblent être attachés à ne le faire que d'une façon ou de l'autre. Peut-être que c'est juste un autre inutile vi vs emacs débat, mais lorsque d'autres personnes sont la lecture de votre code (et donc vos requêtes), il est utile de maintenir une certaine cohérence.

<> ressemble beaucoup <=> , ce qui est très sous-utilisés opérateur mais qui pourrait peut-être porter à confusion lors d'un rapide coup d'œil, parce que les deux sont presque opposées (sauf pour l'évidente NULL des cas).

51voto

jspcal Points 20715

<> devrait être préféré, toutes choses étant égales par ailleurs, car il est conforme à la norme sql et est techniquement plus portable ...

! = n'est pas standard, mais la plupart des db l'implémentent.

sql: 2008 grammaire:

 <not equals operator> ::=
  <>
 

19voto

S.Lott Points 207588

C'est évident.

Le ! le personnage se trouve dans le coin nord-ouest des claviers américains.

Le siège social de Microsoft est situé dans le coin nord-ouest des États-Unis.

Alors. <> est un clin d'œil à Microsoft.

!= est un rejet de Microsoft.

C'est un code politique secret.

4voto

Joe Points 17829

<> est le seul dans la norme SQL-92.

2voto

JonH Points 20454

Les administrateurs de base de données aiment généralement <> et les programmeurs comme! =. Juste une observation :-)

2voto

astander Points 83138

Ce sont les mêmes, c'est purement la préférence .

Cela devrait vous donner une bonne idée

Les opérateurs

! = (Pas égal à) Pas égal à (pas standard SQL-92)

<> (Pas égal à) Pas égal à

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X