Descrição:
Como fazer para que a função Log10 de um objeto Consulta seja executada apenas em linhas diferentes de 0 (zero), deixando as linhas iguais a zero com o valor 0 (zero)?
Solução:
Para aplicar a função Log10 somente quando o valor for diferente de 0 (zero), deve-se utilizar os comandos Case/Else dentro da consulta SQL a fim de testar o valor antes de executar a função. Se o valor for igual a zero, será atribuído o mesmo valor para o campo. Se o valor for diferente de zero, será aplicada a função Log10.
Exemplo de consulta SQL realizando o que foi descrito acima:
SELECT CASE WHEN Campo = 0 THEN 0 ELSE LOG10(Campo) END AS Logaritmo
FROM tabela
FROM tabela
Observação: Este código é válido somente para o banco de dados SQLServer.