Masalahnya adalah Oracle (secara default) memperlakukan string kosong sebagai NULL
. Oleh karena itu:
where name = ''
sama dengan:
where name = NULL
dan keduanya selalu gagal (karena mereka mengembalikan NULL
).
Anda dapat memperbaikinya dengan berbagai cara. Salah satu caranya adalah:
where (name = INPUT or name is null and INPUT is null)
Atau, jika Anda tahu ada nama yang tidak valid:
where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')