Хитрое логическое XOR для значений, допускающих значение NULL

У меня есть 2 столбца CHAR, допускающих значение NULL, и мне нужно проверить, является ли только один из них нулевым.

Делать

(a IS NULL AND b IS NOT NULL) OR (a IS NOT NULL AND b IS NULL)

скучно. И я хотел бы избежать создания пользовательских функций для этого.

Я думал о чем-то вроде

COALESCE(a, 1) + COALESCE(b, 1) = 1

, но пока aравен char-, это вызывает ошибку типа операнда.

Итак, какие-нибудь хитрые решения?

12
задан SeldomNeedy 14 August 2015 в 16:24
поделиться