Есть ли лучший способ сравнения, если два значения равны, если они могут быть нулями, отличными от следующих?
a = b or (a is null and b is null)
Вы можете:
a=b or coalesce(a,b) is null
Вы также можете использовать nvl, но это устаревшая функция, и coalesce быстрее, так как останавливается на первом ненулевом
nvl
coalesce
Вы можете использовать DECODE(A,B,1) = 1
DECODE(A,B,1) = 1
ДЕКОД нерегулярен при лечении NULL.
Однако я думаю, что намерение неясно и предпочитаю ответ vol7ron. Ясность по поводу минимизации ввода!
Вы можете обернуть его с помощью nvl и установить для него значение, не ожидаемое в вашем наборе:
NVL(a,0) = NVL(b,0)