To je v Oracle divný anachronismus (při výchozím nastavení). Oracle skutečně zachází s prázdným řetězcem jako NULL . To zahrnuje srovnání, takže:
where mycolumn = ''
je stejný jako:
where mycolumn = NULL
A to nikdy nevrátí true (NULL <> NULL ).
Moje rada? Zvykněte si na používání NULL explicitně a psaní:
where mycolumn is null