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