2013/12/11 Anderson Loyola <[email protected]> > Sim, seria um bug, tentei de várias formas, mas não tem jeito, alterei > para numeric mesmo. > > Obrigado pela força. > > É um bug mesmo. Até já sei a solução. Vou ver se discuto com isso com os hackers (discuti um pouco já no IRC).
E quanto ao tipo money. Evite usá-lo ao máximo. Ele é meio problemático. Fique com numeric e seja feliz. =D > > Em 10 de dezembro de 2013 11:04, Matheus de Oliveira < > [email protected]> escreveu: > >> >> >> >> 2013/12/10 Anderson Cristian <[email protected]> >> >>> Estou com um problema sério com JSON no postgresql, quando converto um >>> select para JSON por EX: "SELECT to_json(row) FROM tabela row" até ae tudo >>> bem, mas quando eu tento buscar um valor dentro do JSON que seja MONEY ele >>> retorna o seguinte erro: Token "R" is invalid. >>> >>> O PostGreSQL cria um JSON da seguinte forma quando o campo é money. >>> SELECT '{"salario": R$ 1.000,00}'::json >>> >>> Alguém já passou por isso? Tem uma solução? >>> >>> >> humm.... Fiz um teste bem simples aqui, e parece que estamos falando de >> um bug mesmo: >> >> postgres=# SELECT to_json(a) FROM (VALUES(1000::money)) a(salario); >> to_json >> ----------------------- >> {"salario":$1,000.00} >> (1 row) >> >> postgres=# SELECT to_json(a)->'salario' FROM (VALUES(1000::money)) >> a(salario); >> ERROR: invalid input syntax for type json >> DETAIL: Token "$" is invalid. >> CONTEXT: JSON data, line 1: {"salario":$... >> >> Veja que ele gera: >> >> {"salario":$1,000.00} >> >> Mas creio que o correto seria: >> >> {"salario":1000} >> >> ou >> >> {"salario":"$1,000.00"} >> >> Vou fazer uma pesquisa e se encontrar algo posto aqui. Uma solução >> temporária é converter de money para numeric: >> >> SELECT to_json(row) FROM (SELECT foo, bar, salario::numeric AS salario >> FROM tabela) row >> >> 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 >> >> > > > -- > *Anderson Loyola* > http://andersonloyola.com.br <http://www.andersonloyola.com.br> > Usuário Linux N: 391848 > http://linuxcounter.net/user/391848.html<http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=391848> > Telefone: (41) 3015-2048 > Celular: (41) 8722-7774 > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- 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
