Tất cả các toán tử trong PostgreSQL sử dụng quy trình cơ bản:
> SELECT oprname, oprcode FROM pg_operator WHERE oprname LIKE '%?%'
oprname | oprcode
--------------------------
? | jsonb_exists
?| | jsonb_exists_any
?& | jsonb_exists_all
...
Vì vậy, bạn có thể viết lại truy vấn của mình bằng cách sử dụng jsonb_exists(jsonb, text)
như thế này:
SELECT t.id
FROM task AS t
WHERE jsonb_exists(t.worker_ids, :workerId)
ORDER BY t.created_at