sql >> Base de Datos >  >> RDS >> PostgreSQL

La consulta nativa de datos de Spring no permite que exista el operador de cadena jsonb de Postgres (signo de interrogación)

Todos los operadores en PostgreSQL usan un procedimiento subyacente:

> SELECT oprname, oprcode FROM pg_operator WHERE oprname LIKE '%?%'

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

Entonces puede reescribir su consulta usando jsonb_exists(jsonb, text) así:

SELECT t.id
FROM task AS t
WHERE jsonb_exists(t.worker_ids, :workerId)
ORDER BY t.created_at