Pq o expressão SQL não funciona ?
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
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
Curtidas 0
Respostas
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
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
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