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).
http://rextester.com/AUHP11519