Ich habe 2 Nullable CHAR
Spalten und ich muss überprüfen, ob nur einer von ihnen ist null.Tricky logische XOR für nullbare Werte
Doing
(a IS NULL AND b IS NOT NULL) OR (a IS NOT NULL AND b IS NULL)
ist langweilig. Und ich möchte vermeiden, benutzerdefinierte Funktionen dafür zu erstellen.
Ich dachte an so etwas wie
COALESCE(a, 1) + COALESCE(b, 1) = 1
aber solange a
ist char
- es verursacht Typ Fehleroperanden.
Also, irgendwelche tricky Lösungen?
Wie wäre es 'COALESCE (a, b) = COALESCE (b, a)' :) Wird falschen Wert ergeben, wenn 'a = b'. http://www.sqlfiddle.com/#!1/9c33b/1 – mellamokb
@mellamokb: verdient einen upvote, obwohl 'select coalesce (null, null) = coalesce (null, null)' gibt nicht boolean zurück (was zu Fehler in einigen Fällen) – zerkms