Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Operatoren „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 umschreiben?

Wie kann ich die Operatoren „IS DISTINCT FROM' und „IS NOT DISTINCT FROM' in SQL Server 2008R2 umschreiben?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-11 10:54:43846Durchsuche

How Can I Rewrite IS DISTINCT FROM and IS NOT DISTINCT FROM Operators in SQL Server 2008R2?

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 Operator

IS 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn