パラメータホルダーはリテラル内では理解されません:'...: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