Rewrite UNTERSCHEIDET SICH VON und UNTERSCHEIDET SICH NICHT VON SQL Server 2008R2
Frage:
Wie schreibt man einen Ausdruck um, der die Operatoren IS DISTINCT FROM und IS NOT DISTINCT FROM in Microsoft SQL Server 2008R2 enthält (das die Operatoren IS DISTINCT FROM und IS NOT DISTINCT FROM nicht unterstützt)?
Antwort:
IST UNTERSCHIEDLICH VON
IS DISTINCT FROM-Prädikat garantiert ein binäres Ergebnis (wahr oder falsch) beim Vergleich zweier Werte. Für SQL Server 2008R2 kann dieses Prädikat mit dem folgenden Ausdruck simuliert werden:
((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))
IST NICHT UNTERSCHEIDBAR VON
In ähnlicher Weise prüft IS NOT DISTINCT FROM, ob zwischen zwei Werten ein signifikanter Unterschied besteht. Es kann wie folgt umgeschrieben werden:
(NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))
Vergleich mit falscher Antwort
Die gegebene falsche Antwort berücksichtigt nicht die Auswertung von NULL-Werten in booleschen Ausdrücken. Beispielsweise sollte NULL IS DISTINCT FROM NULL zu „Falsch“ ausgewertet werden, der falsche Ausdruck ergibt jedoch „Unbekannt“.
Das obige ist der detaillierte Inhalt vonWie schreibe ich „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!