Euler Taveira de Oliveira escreveu:
> Seta Digital - Suporte wrote:
> 
>> Gostaria de saber se existe alguma forma de padronizar um campo numeric....
>> EX: Numeric(9,2) O valor desse campo vai ser 100.00
>>  
>> Gostaria q o valor desse campo, no local do ponto (que divide o valor
>> inteiro dos centavos) fosse virgula....
>>  
>> Tem algum lugar que eu possa configurar isso???
>>  
> Basta configurar a variável lc_numeric no postgresql.conf (afeta todas
> as consultas) ou em tempo de execução (como abaixo). A função to_char()
> [1] faz todo trabalho.
> 
> regression=# set lc_numeric to 'en_US';
> SET
> Tempo: 42,547 ms
> regression=# select to_char(100::numeric(9,2), '9990D99');
>  to_char
> ----------
>    100.00
> (1 registro)
> 
> Tempo: 0,857 ms
> regression=# set lc_numeric to 'pt_BR';
> SET
> Tempo: 0,558 ms
> regression=# select to_char(100::numeric(9,2), '9990D99');
>  to_char
> ----------
>    100,00
> (1 registro)
> 
> Tempo: 0,616 ms
> regression=#
> 
> [1] http://www.postgresql.org/docs/8.2/static/functions-formatting.html
> 
> 

Euler:

Aproveitando a questão, como faço com o separador de milhar?

bdteste=# SHOW lc_numeric;
  lc_numeric
-------------
  pt_BR.UTF-8
(1 registro)

bdteste=# SELECT to_char(1234.5::numeric(9,2), '99G999D99');
   to_char
------------
    1,234,50
(1 registro)

O resultado esperado seria: 1.234,50

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a