Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle:differenza tra stringa NULL e EMPTY

Il problema è che Oracle (per impostazione predefinita) tratta le stringhe vuote come NULL . Quindi:

where name = ''

è uguale a:

where name = NULL

ed entrambi falliscono sempre (perché restituiscono NULL ).

Puoi risolvere questo problema in vari modi. Un metodo è:

where (name = INPUT or name is null and INPUT is null)

Oppure, se sai che c'è un nome non valido:

where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')