Los titulares de parámetros no se entienden dentro de los literales:'...:nom...'
contendrá los caracteres :nom
, no los valores enlazados de nom
.
Para PostgreSQL 9.5 (y versiones posteriores), use:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
Para 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
Para 9.3 (y versiones anteriores), no hay operador de contención JSON (ni el jsonb
tipo).
http://rextester.com/AUHP11519