[firebase-br] Ajuda com SQL!

Roger pikurim em hotmail.com
Qua Jan 9 10:42:53 -03 2008


Valeu, pelas respostas, vcs respondem muito rápido, eu usava outro
banco de dados o DBISam (ElevateSoftware.com.br) mas agora
os sistemas da empresa que trabalho exigem um banco mais robusto.

A pergunta é a seguinte:

Tentei fazer uma divisão na SQL, ex:

SELECT SUM(CASE WHEN P.EXCEDIDO > 0 THEN 1 ELSE 0 END) / SUM(EXCEDIDOS)
FROM PROCESSADOS

porém às vezes a primeira parte da divisão retorna zero, então o Firebird 
retorna um
erro de divisão por zero, mas o antigo banco de dados o DBISam, apenas 
mostrava o
resultado da divisão como NULL, como faço para o resultado retornar NULL 
nestes casos,
e se tem como fazer tratamentos de exceção diretamente em SQLs?

Obrigado!
Roger Oliveira
Underline Informática
www.puxtreme.com.br


"Roger" <pikurim em hotmail.com> escreveu na 
notícia da mensagem:fm2c9d$4kv$1 em ger.gmane.org...
> Sou novo no grupo e estou com um problema em um SQL:
>
> A dúvida é: Por que o seguinte sql retorna um número inteiro se deveria
> ser um número decimal
>
> SELECT (SUM(EXCEDIDOS) / 60) MINUTOS FROM PROCESSADOS
>
> E como fazer ele retornar números como: 1,24?
>
>
>
> Outra dúvida só dá para usar Case na declaração de campos, exemplos:
>
> SELECT
> CASE WHEN COUNT(*) > 1 THEN COUNT(*) ELSE 0 END CICLOS
> FROM PROCESSADOS
>
> Não tem como usar IF também???
>
>
> Valeu!
>
>
>
> ______________________________________________
> 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