Problemet er, at Oracle (som standard) behandler tomme strenge som NULL
. Derfor:
where name = ''
er det samme som:
where name = NULL
og begge fejler altid (fordi de returnerer NULL
).
Du kan rette dette på forskellige måder. En metode er:
where (name = INPUT or name is null and INPUT is null)
Eller, hvis du ved, at der er et ugyldigt navn:
where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')