Este é um anacronismo estranho no Oracle (usando configurações padrão). O Oracle, de fato, trata uma string vazia como
NULL
. Isso inclui em comparações, então:where mycolumn = ''
é o mesmo que:
where mycolumn = NULL
E isso nunca retorna true (
NULL <> NULL
). Meu conselho? Acostume-se a usar
NULL
explicitamente e escrevendo:where mycolumn is null