Het probleem is dat Oracle (standaard) lege strings behandelt als NULL
. Vandaar:
where name = ''
is hetzelfde als:
where name = NULL
en beide mislukken altijd (omdat ze NULL
retourneren ).
Je kunt dit op verschillende manieren oplossen. Een methode is:
where (name = INPUT or name is null and INPUT is null)
Of, als u weet dat er een ongeldige naam is:
where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')