Pemegang parameter tidak dipahami di dalam literal:'...:nom...' akan berisi karakter :nom , bukan nilai terikat nom .
Untuk PostgreSQL 9.5 (dan yang lebih baru), gunakan:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
Untuk 9,4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
Untuk 9.3 (dan sebelumnya), tidak ada operator penahanan JSON (baik jsonb jenis).
https://rextester.com/AUHP11519