Ι tem a seguinte tabela chamada discounts
:
id Serialize
discount INT
offers JSON
Com os seguintes registros
Eu iria | desconto | ofertas |
---|---|---|
1 | 10 | [{"type":"desconto","percent":100},{"type":"brinde","id:100}] |
2 | 0 | [{"type":"desconto","percent":100},{"type":"brinde","id:100}] |
2 | 100 | NULO |
Como posso pesquisar dentro da tabela por todos os registros que tem desconto diferente de zero, mas dentro do JSON que tem tipo discount
dentro do JSON.
Até agora eu tentei esta consulta:
select *
from discounts r
where discount <> 0
and offers @> '[{"type":"discount"}]'::json;
Mas recebo o seguinte erro:
ERRO: operador não existe: json @> json
Dica: Nenhum operador corresponde ao nome e aos tipos de argumento fornecidos. Talvez seja necessário adicionar conversões de tipo explícitas.
Posição: 68
db<>fique aqui