Vergleichselement DISTINCT
Das Vergleichselement DISTINCT vergleicht zwei Ausdrücke und ergibt TRUE, wenn ihre Werte nicht identisch sind.
Das Ergebnis eines Vergleichselements DISTINCT hängt davon ab, ob einer oder beide Eingabeausdrücke null sind:
Das Ergebnis eines Vergleichselements DISTINCT darf nicht null sein.
| Eingabeausdrücke | UNTERSCHEIDET SICH VON | Unterscheidet sich nicht von |
|---|---|---|
| Beide Eingaben sind ungleich null. | Wird als TRUE ausgewertet, wenn die Eingaben nicht identisch sind, und FALSE, wenn sie identisch sind. Äquivalent zum Operator <> . |
Wird als FALSE ausgewertet, wenn die Eingaben nicht identisch sind, und als TRUE, wenn sie identisch sind. Äquivalent zum Operator = . |
| Eine Eingabe ist null. | Wird mit TRUE ausgewertet. | Wird als FALSE ausgewertet. |
| Beide Eingaben sind null. | Wird als FALSE ausgewertet. | Wird mit TRUE ausgewertet. |
- expression1 und expression2
- Die Ausdrücke, die verglichen werden sollen.
Beispiele
Angenommen, HV ist eine Hostvariable und T1 ist eine Tabelle mit einer Spalte (C1) und drei Zeilen:
C1
----
1
2
NULL- Bei HV=2wird die Anweisung
Gibt die Zeilen 1 und 3 zurück.SELECT * FROM T1 WHERE C1 IS DISTINCT FROM :HV;Bei HV=2wird die Anweisung
gibt Zeile 2 zurück.SELECT * FROM T1 WHERE C1 IS NOT DISTINCT FROM :HV; - Wenn HV=NULL, die Anweisung
Gibt die Zeilen 1 und 2 zurück.SELECT * FROM T1 WHERE C1 IS DISTINCT FROM :HV;Wenn HV=NULL, die Anweisung
Gibt Zeile 3 zurückSELECT * FROM T1 WHERE C1 IS NOT DISTINCT FROM :HV;
