PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La requête native de données Spring n'autorise pas l'opérateur Postgres jsonb string exist (point d'interrogation)

Tous les opérateurs de PostgreSQL utilisent la procédure sous-jacente :

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

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

Vous pouvez donc réécrire votre requête en utilisant jsonb_exists(jsonb, text) comme ceci :

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