[firebase-br] RES: Coalesce Null?

José Mauricio Barbisan Zottis bzottis em ig.com.br
Qui Ago 23 19:44:44 -03 2012


obrigado, vou testar amanhã, pois estou em aula agora, mas fico muito
agradecido pela ajuda.

Em 23 de agosto de 2012 19:34, André Conrado <acf em andreconrado.net> escreveu:
> Zottis, o que ocorre é que quando não há registros o COALESCE nem é
> chamado, não há informação para ele analisar. O uso da função agregada
> é um "truque" para que pelo menos uma linha seja executada.
>
> Vou passa novamente os comandos pq coloquei as funções na ordem errada:
>
> select coalesce(max(anterior),0) from (select first 1 leitura anterior from
> gas where cod_apto = :VarCod_apto order by 1 desc)
>
> A função MAX precisa vir primeiro para que a função COALESCE tenho
> algo para analisar.
>
> Abçs
>
> Em 23 de agosto de 2012 18:47, Zottis <bzottis em ig.com.br> escreveu:
>> Isso que eu não estou entendendo.
>> O COALESCE não seria para resolver a questão do NULL?
>>
>> Vou tentar e ver se da certo, aviso na lista amanhã.
>>
>> Obrigado a todos que responderam
>>
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
>> nome de André Conrado
>> Enviada em: quinta-feira, 23 de agosto de 2012 17:48
>> Para: FireBase
>> Assunto: Re: [firebase-br] Coalesce Null?
>>
>> Tenta assim:
>>
>> select max(coalesce(anterior,0)) from (select first 1 leitura anterior from
>> gas where cod_apto = :VarCod_apto order by 1 desc)
>>
>> abçs
>>
>>
>> Em 23 de agosto de 2012 17:29, Gladiston Santana <gladiston em vidy.com.br>
>> escreveu:
>>> Não, porque nenhum registro foi encontrado.
>>> Se estiver tentando a sentença dentro de uma procedure inicialize-a
>>> com valor zero (ou nulo) faça o select, se permanecer zero você prossegue,
>> ex:
>>> anterior=0
>>> select first 1 coalesce(leitura,0) as anterior from gas into :anterior
>>>
>>> se nenhuma linha for atingida pelo seu select, a variavel anterior
>>> permanecerá com o valor com o qual foi inicializada.
>>>
>>> Contudo, me parece que você deseja apenas sabe se dados existem, neste
>>> caso recomendo o exists if [not] exists(select blablabla) then begin
>>> ...
>>> end
>>>
>>> Os algoritimos para checar existencia de dados são mais rapidos do que
>>> um select trivial com first e order.
>>>
>>> []'s e sucesso.
>>>
>>>
>>> Em 23 de agosto de 2012 12:52, Zottis <bzottis em ig.com.br> escreveu:
>>>
>>>> Pessoal, o comando abaixo não deveria retornar “0”se fosse nullo?
>>>>
>>>>
>>>>
>>>> Mas esta retornando nullo
>>>>
>>>>
>>>>
>>>> select first 1 coalesce(G.leitura, 0) anterior
>>>>
>>>> from gas G
>>>>
>>>> where G.cod_apto = :VarCod_apto
>>>>
>>>> order by 1 desc
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
>> saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista