PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die native Spring Data-Abfrage lässt keinen Postgres-jsonb-String-Exist-Operator zu (Fragezeichen)

Alle Operatoren in PostgreSQL verwenden die zugrunde liegende Prozedur:

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

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

Sie können Ihre Abfrage also mit jsonb_exists(jsonb, text) umschreiben so:

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