Umschreiben unterscheidet sich von Prädikaten in SQL Server 2008R2 und unterscheidet sich nicht von ihnen.
In SQL Server 2008R2 unterscheidet sich der Standard von und ist NOT DISTINCT FROM-Operatoren werden nicht unterstützt. Dies stellt ein Problem für Benutzer dar, die Werte vergleichen und endgültige Ergebnisse entweder „Wahr“ oder „Falsch“ anstelle der Standardeinstellung „Unbekannt“ erhalten müssen.
Alternativen neu schreiben
Um den IS zu emulieren DISTINCT FROM und IS NOT DISTINCT FROM-Prädikate können die folgenden Ausdrücke sein verwendet:
((a <> b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))
(NOT (a <> b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))
Diese Ausdrücke bestimmen effektiv, ob die Werte ungleich sind oder wenn einer der Werte null ist. Wenn ja, ist das zurückgegebene Ergebnis True; andernfalls ist es falsch.
Häufige Fallstricke vermeiden
Es ist wichtig zu beachten, dass der folgende Ausdruck nicht korrekt umgeschrieben wird. IST UNTERSCHIEDLICH VON:
FALSE OR NULL
In SQL Server wird FALSE OR NULL als „Unknown“ ausgewertet, was nicht das gewünschte Ergebnis ist. Daher ist es für eine korrekte Umschreibung von entscheidender Bedeutung, die oben bereitgestellten Ausdrücke zu verwenden.
Fazit
Durch die Verwendung dieser umgeschriebenen Ausdrücke können Benutzer von SQL Server 2008R2 die gleiche Funktionalität erreichen wie IST UNTERSCHEIDET VON und IST NICHT UNTERSCHEIDET VON, um sicherzustellen, dass Vergleiche immer eindeutige Ergebnisse liefern.
Das obige ist der detaillierte Inhalt vonWie kann ich „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!