[firebase-br] Parâmetros nulos

"Fabrício F. Kammer" ffkammer em conchalnet.com.br
Sex Jul 28 08:43:47 -03 2006


Bom dia Fabiano,

Com a solução postada por nosso colega seu sql ficaria assim:

select * from tb_cadastro
where desc_fone = coalesce(:pDesc_Fone, desc_fone)

Assim, caso o parâmetro :pDesc_Fone seja nulo é passado o valor do 
próprio campo, fazendo com que o registro seja incluído nos resultados 
da query.

[]s

Fabiano Arndt escreveu:
> olá pessoal,
> 
> sei que o assunto tava meio parado, mas gostei dessa solução tbm, vou
> mudar minhas sql´s para essa forma, mas tive problemas de parametrizar
> campos que podem conter valores nulos.
> 
> fiz o teste abaixo
> 
> select * from tb_cadastro
> where
>   desc_fone = coalesce(null, desc_fone)
> 
> obs. desc_fone pode ser nulo.
> 
> essa tabela contem mais de 3000 registros e retornou 1700, ou seja,
> apenas retornou os campos onde desc_fone não são nulos
> 
> nesse caso desc_fone não possui indice, mas existe alguns campos
> indexados que gostaria de utilizar e que tbm podem ser nulos.
> 
> se alguém tiver uma soluçao pra esse caso, seria bem vinda.
> 
> abraço,
> Fabiano.
> 
> Em 22/07/06, "Fabrício F. Kammer"<ffkammer em conchalnet.com.br> escreveu:
>> Eita nóis! Excelente solução Paulo...
>>
>> funcionou perfeitamente bem e ainda utilizou os planos de otimização...
>>
>> vlw... essa é a solução.
>>
>> []s
>>
>>
>> Paulo Geloramo escreveu:
>>> Faz o teste desta forma:
>>>
>>> SELECT *
>>> FROM CLIENTE
>>> WHERE  NOME = COALESCE(:PNOME, NOME)
>>>
>>> []s
>>> Paulo Geloramo
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista