Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Operatoren „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 umschreiben?
Umschreiben des IS DISTINCT FROM-Operators in SQL Server 2008R2
SQL Server 2008R2 unterstützt die Standardoperatoren IS DISTINCT FROM und IS NOT DISTINCT FROM nicht. Dieser Artikel bietet eine Lösung zum Umschreiben dieser Ausdrücke mithilfe einer alternativen Syntax, die mit dieser Version der Software kompatibel ist.
IST UNTERSCHIEDLICH VON
Das IS DISTINCT FROM-Prädikat wird als „True“ ausgewertet, wenn die beiden Werte nicht gleich sind oder einer der Werte NULL ist; es wird als „False“ ausgewertet, wenn sie gleich sind und keiner der Werte NULL ist. Es kann wie folgt umgeschrieben werden:
<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>
Beispiel:
<code class="language-sql">SELECT CASE WHEN (a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL) THEN 'True' ELSE 'False' END AS DistinctResult</code>
IST NICHT UNTERSCHEIDBAR VON
Der OperatorIS NOT DISTINCT FROM ergibt „True“, wenn die beiden Werte gleich oder beide NULL sind, und ergibt „False“, wenn sie nicht gleich und nicht beide NULL sind. Es kann wie folgt umgeschrieben werden:
<code class="language-sql">(NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))</code>
Beispiel:
<code class="language-sql">SELECT CASE WHEN (NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL)) THEN 'True' ELSE 'False' END AS NotDistinctResult</code>
Hinweis:
Die bereitgestellte Überschreibung stellt sicher, dass das Ergebnis immer „Wahr“ oder „Falsch“ ist, und vermeidet den unbekannten Zustand, der bei NULL-Operanden auftreten kann.
Das obige ist der detaillierte Inhalt vonWie kann ich die Operatoren „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 umschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!