Les détenteurs de paramètres ne sont pas compris à l'intérieur des littéraux :'...:nom...'
contiendra les caractères :nom
, pas les valeurs liées de nom
.
Pour PostgreSQL 9.5 (et versions ultérieures), utilisez :
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
Pour 9.4 :
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
Pour 9.3 (et versions antérieures), il n'y a pas d'opérateur de confinement JSON (ni le jsonb
type).
http://rextester.com/AUHP11519