2013/12/11 Euler Taveira <[email protected]>

> On 11-12-2013 15:16, Guimarães Faria Corcete DUTRA, Leandro wrote:
> > 2013/12/11 Matheus de Oliveira <[email protected]>:
> >>
> >> E quanto ao tipo money. Evite usá-lo ao máximo. Ele é meio problemático.
> >
> > Tens referência?  Por curiosidade.
> >
> Principalmente por causa da configuração regional [1][2]. Na minha
> opinião, "money" não deveria ser um tipo mas ter uma função (to_char?)
> que use o formato moeda.
>
>
> [1] https://wiki.postgresql.org/wiki/Todo#MONEY_Data_Type
> [2]
> http://www.postgresql.org/message-id/[email protected]
>
>
É isso mesmo Euler. Valeu pelas referências.

Só para completar, essa configuração regional é definido pelo GUC
lc_monetary. Veja um exemplo disso:

    postgres=# SET lc_monetary TO 'en_US.UTF8';
    SET
    postgres=# SELECT 10000::money;
       money
    ------------
     $10,000.00
    (1 row)

    postgres=# SELECT '$10,000.00'::money;
       money
    ------------
     $10,000.00
    (1 row)

    postgres=# SET lc_monetary TO 'pt_BR.UTF8';
    SET
    postgres=# SELECT '$10,000.00'::money;
    ERROR:  invalid input syntax for type money: "$10,000.00"
    LINE 1: SELECT '$10,000.00'::money;
                   ^

Podemos fazer um paralelo com o motivo para não usar datas no formato como
'02/03/2013', pois é ambíguo, não se sabe (de cara) se é '2013-02-03' ou
'2013-03-02'. Nesse caso o GUC DateStyle resolve, mas convenhamos que usar
no formato ISO é bem mais claro, direto, e, bem, universal.

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a