Pq o expressão SQL não funciona ?

Firebird

29/06/2008

Olá!

Tenho o seguinte problame:

Tenho q calcular um percentual Campo1 / Campo2 * 100

Acontece q nem sempre o caompo1 é > q zero.

Quando: Campo1 := 0 ou null
Campo2 := 10 sempre > 0

Fiz o seguinte: Coalesce(Campo1,0)/Coalesce(Campo2,0)*100

Ao executa a expressão quando campo1 é = 0, gera um erro.

Como poderia fazer isto funcionar corretamente ?

Desde já meus agradecimentos.

ANT.CARLOS/SP


Ant.carlos/sp

Ant.carlos/sp

Curtidas 0

Respostas

Edilcimar

Edilcimar

29/06/2008

Se campo1 = 0 o resultado sempre será zero, porém se campo2 = 0 então você terá um erro, afinal de contas qualquer número dividido por zero é igual a infinito!


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

29/06/2008

creio que há algum equívoco na afirmação de que ´ao executa a expressão quando campo1 é = 0, gera um erro (sic)´.

deveria ocorrer um erro somente se o Campo2 for 0, pois não há divisão por zero.

faço minhas as ´palavras´ do Edilcimar.

uma solução seria você retornar 1 para o Campo2 no caso de ele ser nulo:
(Coalesce(Campo1,0)/Coalesce(Campo2,1))*100


GOSTEI 0
POSTAR