web-dev-qa-db-fra.com

Existe-t-il une différence entre "! =" Et "<>" dans Oracle SQL?

Je voudrais savoir s’il existe des différences entre les deux opérateurs not equal<> et != dans Oracle.

Existe-t-il des cas où ils peuvent donner des résultats différents ou des performances différentes?

110
Mesop

Non, il n'y a pas de différence de fonctionnalité.
(Il en va de même pour tous les autres SGBD - la plupart d'entre eux prennent en charge les deux styles):

Voici la référence SQL actuelle: https://docs.Oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC

Le standard SQL ne définit qu'un seul opérateur pour " pas égal " et c'est <>

96

En réalité, il existe quatre formes de cet opérateur:

<>
!=
^=

et même

¬= -- worked on some obscure platforms in the dark ages

qui sont identiques, mais traités différemment lorsqu'une correspondance exacte est requise (contours stockés ou requêtes mises en cache).

45
Quassnoi

À l'université, on nous a appris que la "meilleure pratique" était d'utiliser! = Lorsque vous travaillez pour des employeurs, même si tous les opérateurs ci-dessus ont les mêmes fonctionnalités.

1
user1403581