Sim, seria um bug, tentei de várias formas, mas não tem jeito, alterei para
numeric mesmo.

Obrigado pela força.


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

Responder a