Где пункт:
Я должен проверить столбец со значением в Proc, но если хотя бы один из них имеет значение null, это должно быть ИСТИНА в результате. Только когда BOTH NOT NULL (это целочисленные значения для столбца ID в таблице), результат сравнения должен быть FALSE.
Теперь у меня есть это:
...
and nvl(nvl(b.account_id, account_id_), 0) = nvl(nvl(account_id_, b.account_id), 0)
b.account__id
- это столбец в таблице (целое число), account_id_
- параметр в Proc того же типа.
Это работает, но ИМХО это выглядит странно, чтобы понять, какова цель оценки.
Поэтому я попытался сделать его более читабельным, но без действительно хороших результатов.
Я пробовал COALESCE - но он требует проверки на ноль, если оба - ноль.
LNNVL хороший, но он дает FALSE, если они оба равны, но мне нужно True для этого случая.
Какие-нибудь хорошие мысли?