Tente isso:
SELECT round(SUM(cast(cast(replace(replace(COALESCE(Valor,0),'.',''),',','') as text) as float)*1000))/100000 AS contestado,
round(SUM(cast(cast(replace(replace(COALESCE(Valor1,0),'.',''),',','') as text) as float)*1000))/100000 AS contestante
FROM traf.con WHERE PERIODO = 200612 AND TP = 1,

Se o campo for NULL o Coalesce retorna 0, caso contrário retorno seu próprio valor. É como um CASE só que mais rápido e especifico para NULL.
Att

Evandro

daniel mendes wrote:

Opa Osvaldo,
 
olha soh eu tentei fazer assim:
 
 SELECT round(SUM(cast(cast(replace(replace(Valor,'.',''),',','') as
> text) as float)*1000))/100000 AS contestado,
> round(SUM(cast(cast(replace(replace(Valor1,'.',''),',','') as text) as
> float)*1000))/100000 AS contestante,
case
 when ValorContestante=''  then 0
end
soh que nao estah dando certo.Voce poderia dar um help?

Osvaldo Rosario Kussama <[EMAIL PROTECTED]> escreveu:
daniel mendes escreveu:
> Boa tarde,
>
> eu tenho uma consulta:
>
> SELECT round(SUM(cast(cast(replace(replace(Valor,'.',''),',','') as
> text) as float)*1000))/100000 AS contestado,
> round(SUM(cast(cast(replace(replace(Valor1,'.',''),',','') as text) as
> float)*1000))/100000 AS contestante
> FROM traf.con WHERE PERIODO = 200612 AND TP = 1,
> so que tah dando o seguinte erro: ERROR: invalid input syntax for type
> double precision: "", eu reparei que o erro ocorre no segundo campo da
> consulta.
>


Repare:
bdteste=# SELECT cast('' as float);
ERRO: sintaxe de entrada inválida para tipo double precision: ""

portanto é provável que para algum valor o resultado dos replaces seja
um string vazio. Talvez você deva considerar zero nestes casos.
Veja case:
http://www.postgresql.org/docs/8.2/interactive/functions-conditional.html#AEN13053

[]s
Osvaldo


_______________________________________________________
Yahoo! Mail - Sempre a melhor opção para você!
Experimente já e veja as novidades.
http://br.yahoo.com/mailbeta/tudonovo/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/


_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a