[firebase-br] Parâmetros nulos

"Fabrício F. Kammer" ffkammer em conchalnet.com.br
Qua Jul 19 21:26:13 -03 2006


Gostei da solucao... pode ser interessante

obrigado

Fabiano Arndt escreveu:
> Precisei disso tbm, em Oracle é facinho, normalmente nossos select de
> relatórios e consultas tem esse formato no Oracle:
> 
> SELECT
>   [CAMPOS]
> FROM
>   [TABLEAS]
> WHERE
>   (:PARAM IS NULL
>     OR
>      CAMPO = :PARAM)
>   AND
>   (:PARAM2 IS NULL
>     OR
>      CAMPO = :PARAM2)
> 
> 
> no firebird tive que criar 2 parametros para cada opção, ficou mais ou
> menos assim
> 
> SELECT
>   [CAMPOS]
> FROM
>   [TABLEAS]
> WHERE
>   (:POR_PARAM = -1
>     OR
>      CAMPO = :PARAM)
>   AND
>   (:POR_PARAM_2 = -1
>     OR
>      CAMPO = :PARAM2)
> 
> aí se o usuário deseja pelo primeiro parametro, passo 0 para POR_PARAM
> e o valor do parametro se ele deseja não filtrar pelo parametro, passo
> -1 para POR_PARAM
> 
> espero que nao tenha ficado confusso
> 
> 
> flw,
> Fabiano.
> 
> 
> Em 18/07/06, "Fabrício F. Kammer"<ffkammer em conchalnet.com.br> escreveu:
>> Salve Galera!
>>
>> Alguém sabe alguma forma eficiente para testar se um parâmetro é nulo?
>> Tenho muitas consultas com parâmetros opcionais e preciso que o select
>> traga todos os registros caso o parâmetro não sejam informados.
>>
>> Em Oracle isso é o possível:
>>
>> WHERE CAMPO=:PARAM OR :PARAM IS NULL
>>
>> Já no FB não é possível esta solução. Testei o seguinte:
>>
>> WHERE CAMPO=:PARAM OR 0=:PARAM
>>
>> Porém dessa forma eu terei que passar um 0 (zero) na momento da execução
>> da consulta, caso isso seja esquecido a consulta não retornará nenhum
>> registro.
>>
>> []s
>>
>> --
>> Fabrício F. Kammer
>> Conchal/SP
>>
>> ______________________________________________
>> 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
>>
> 
> ______________________________________________
> 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

-- 
Fabrício F. Kammer
19 3866-1927
ConchalNet
Conchal/SP




Mais detalhes sobre a lista de discussão lista