Притежателите на параметри не се разбират в литералите:'...:nom...'
ще съдържа знаците :nom
, а не обвързаните стойности на nom
.
За PostgreSQL 9.5 (и по-нова), използвайте:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
За 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
За 9.3 (и по-стари), няма оператор за ограничаване на JSON (нито jsonb
тип).
http://rextester.com/AUHP11519