Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle:Diferença entre string NULL e EMPTY


O problema é que o Oracle (por padrão) trata strings vazias como NULL . Por isso:
where name = ''

é o mesmo que:
where name = NULL

e ambos sempre falham (porque eles retornam NULL ).

Você pode corrigir isso de várias maneiras. Um método é:
where (name = INPUT or name is null and INPUT is null)

Ou, se você souber que há um nome inválido:
where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')