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