Então é exatamente isso..

eu tentei to_char, como parametro pra to_number, mas deu o mesmo erro..
Assim:

retorno=to_number($1,to_char($2,'99999999999'));
Mas deu exatamente o mesmo erro...

Ele não está entendendo a conversão que eu to tentando fazer...
E o aplicativo é muito. muito grande... vai demorar umas semanas pra
localizar todos os to_number hehe..



-----Original Message-----
From: Fabrízio de Royes Mello <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED], Comunidade PostgreSQL Brasileira
<[email protected]>
To: Comunidade PostgreSQL Brasileira
<[email protected]>
Subject: Re: [pgbr-geral] chamada a to_number dentro de procedure
Date: Thu, 23 Oct 2008 11:08:01 -0200


> 
> Estou migrando da versão 8.2 pra 8.3.3, e encontrei problemas com a
> to_number().
> Enfim, estou tentando escrever um wrapper, pra converter um int pra um
> text, mas está dando um erro que eu não sei o que é.

Não seria o to_char que necessitas ??? Pois o to_number converte uma 
string em número, e o que desejas é converter um inteiro em string...

> Essa e a definicao da funcao:
> 
> CREATE OR REPLACE FUNCTION to_number(text, int) RETURNS numeric AS
> $FUNCAO$
> DECLARE
>         resultado numeric;
> BEGIN
>         resultado=to_number($1,$2::text));
>         RAISE NOTICE 'E o resultado eh: %',resultado;
>         RETURN resultado;
> END;
> $FUNCAO$ LANGUAGE plpgsql;
> 

Creio que vc inverteu os parâmetros na função to_number, pois o primeiro 
parâmetro é a string com o *número* e o segundo é a string com a 
*máscara* [1].

Não se seria o caso mas creio seja importante dares uma olhada no 
release notes da versão 8.3 [2] item E.5.2.1 onde explica algo 
importante que apartir dessa versão o PostgreSQL *não mais efetuará 
conversão implicita* de tipos não caracter em text, e isso provavelmente 
demandará alterações no seu aplicativo...

Claro que deves verificar se é realmente isso a motivação para a escrita 
dessa *wrapper*, que não deixa de ser uma boa solução visto que 
alterações em aplicativo, dependendo do tamanho, demandará bastante tempo.

Espero ter colaborado.


Referências:
[1]http://www.postgresql.org/docs/8.3/interactive/functions-formatting.html
[2]http://www.postgresql.org/docs/8.3/static/release-8-3.html


Cordialmente,


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a