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