Die Nullungleichung verstehen
Im Bereich SQL stellt die Gleichheit von NULL-Werten eine einzigartige Herausforderung dar. Der Konsens schlägt vor, den Ausdruck „wo ((A=B) ODER (A IST NULL UND B IST NULL))“ zu verwenden, um die Gleichheit zwischen nullbaren Spalten zu testen. Dieser Ansatz wirft jedoch beim Testen von Ungleichungen eine Frage auf.
Nach der ternären Logik, die NULL als unbekannten Wert betrachtet, reicht der Ungleichheitsausdruck „wobei (A<>B)“ aus, um die Ungleichheit von zu bewerten nullfähige Spalten. Diese Logik geht davon aus, dass die Gleichheit unbekannter Werte unbekannt ist, daher ist das Ergebnis nicht WAHR.
Betrachten Sie beispielsweise die folgenden Szenarien:
Zusätzliche Bedingungen
Der Ausdruck „WHERE ((A <> B) OR (A IS NOT NULL AND B IS NULL) OR (A IS NULL AND B IS NOT NULL))“ ist ein alternativer Ansatz, der explizit vorgeht prüft auf alle möglichen Kombinationen von NULL- und Nicht-NULL-Werten. Dies ist jedoch in Situationen unnötig, in denen das Ziel darin besteht, die Ungleichheit von nullbaren Spalten zu bewerten.
Zusammenfassend lässt sich sagen, dass für nullbare Spalten der Ausdruck „wobei (A<>B)“ ausreicht, um ihre Ungleichheit zu bewerten , da NULL in der ternären Logik als unbekannter Wert gilt.
Das obige ist der detaillierte Inhalt vonWie kann man die Ungleichheit von Nullable-Spalten in SQL effektiv testen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!