I Oracle är det ingen skillnad mellan en tom sträng och NULL.
Det är en uppenbar ignorering av SQL-standarden, men så har du det...
Utöver det kan du inte jämföra mot NULL (eller inte NULL) med de "normala" operatorerna:"col1 =null" kommer inte att fungera, "col1 ='' " kommer inte att fungera, "col1 !=null" kommer inte att fungera , måste du använda "är null".
Så nej, du kan inte få det här att fungera på något annat sätt än "kol 1 är null" eller någon variant av det (som att använda nvl).