Ich würde gerne wissen, ob es Unterschiede zwischen den beiden not equalBetreibern <>und !=in Oracle gibt.
Gibt es Fälle, in denen sie unterschiedliche Ergebnisse oder unterschiedliche Leistungen liefern können?
Ich würde gerne wissen, ob es Unterschiede zwischen den beiden not equalBetreibern <>und !=in Oracle gibt.
Gibt es Fälle, in denen sie unterschiedliche Ergebnisse oder unterschiedliche Leistungen liefern können?
Antworten:
Nein, es gibt überhaupt keinen Unterschied in der Funktionalität.
(Gleiches gilt für alle anderen DBMS - die meisten unterstützen beide Stile):
Hier ist die aktuelle SQL-Referenz: https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC
Der SQL-Standard definiert nur einen einzelnen Operator für " ungleich "<>
IS NOTäquivalent / synonom / / zu <>und !=? Können alle drei gleich verwendet werden?
Tatsächlich gibt es vier Formen dieses Operators:
<>
!=
^=
und selbst
¬= -- worked on some obscure platforms in the dark ages
Diese sind gleich, werden jedoch unterschiedlich behandelt, wenn eine wörtliche Übereinstimmung erforderlich ist (gespeicherte Konturen oder zwischengespeicherte Abfragen).
NOT(x = y)vielleicht !(x = y)usw.?
^=(habe es selbst gesehen, als ich den Link zum Handbuch gepostet habe). Ihr Standpunkt zu zwischengespeicherten Abfragen ist jedoch gut.
Oracle, boolean ist kein erstklassiger Typ in SQL(der sich von unterscheidet PL/SQL). I. e. Sie können SELECT 1 = 1 FROM dualin einigen anderen Systemen nicht mögen. So booleans haben ihren eigenen Satz von Operatoren gelten nur in logischen Kontexten ( WHEREoder HAVINGoder ähnliche Klauseln). NOTist der einzige boolesche Negationsoperator in Oracle SQL(AFAIK).
¬= -- worked on some obscure platforms in the dark ages- Ja, sie wurden "IBM Mainframes" genannt. Von den Tagen an, als Männer Männer waren, Frauen Frauen waren, Dinosaurier die Erde durchstreiften und Computer wassergekühlt waren. :-)
An der Universität wurde uns beigebracht, "Best Practice" zu verwenden! = Bei der Arbeit für Arbeitgeber, obwohl alle oben genannten Betreiber die gleiche Funktionalität haben.
<>als den Operator "ungleich". Daher würde ich in Betracht ziehen, dies als "Best Practice" zu verwenden
<>und vorziehen !=. Hauptsächlich, weil <>in seinem Sprichwort "kleiner als oder größer als" für mich anzunehmen scheint, dass der Datentyp eine implizite Reihenfolge hat (was nicht unbedingt wahr ist, obwohl es für alle SQL-Datentypen gilt), während !="nicht gleich" heißt. in einem sehr reinen Sinne.
Laut diesem Artikel arbeitet! = Schneller