PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

A consulta nativa de dados do Spring não permite que a string jsonb do Postgres exista operador (ponto de interrogação)


Todos os operadores no PostgreSQL usam o procedimento subjacente:
> SELECT oprname, oprcode FROM pg_operator WHERE oprname LIKE '%?%'

oprname | oprcode
--------------------------
?       | jsonb_exists
?|      | jsonb_exists_any
?&      | jsonb_exists_all
...

Então você pode reescrever sua consulta usando jsonb_exists(jsonb, text) assim:
SELECT t.id
FROM task AS t
WHERE jsonb_exists(t.worker_ids, :workerId)
ORDER BY t.created_at