Držitelé parametrů nejsou chápáni uvnitř literálů:'...:nom...'
bude obsahovat znaky :nom
, nikoli vázané hodnoty nom
.
Pro PostgreSQL 9.5 (a novější) použijte:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
Pro 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
Pro 9.3 (a starší) neexistuje žádný operátor kontejnmentu JSON (ani jsonb
typ).
http://rextester.com/AUHP11519