我希望能够使用通配符查询 hstore 中的键。
例如,我有一个偏好模型,它有一个名为“技能”的 hstore 列。
技能的一个例子可能是
{'Ruby' => {'checked' => true } }
现在我想这样查询
Preference.where("skills LIKE :key", key: "%ruby%")
{"Angular.js"=>"{\"checked\"=>true}"}
SELECT user_id FROM preferences WHERE EXISTS( SELECT 1 FROM skeys(skills) AS k WHERE k LIKE '%angular%');
user_id
---------
(0 rows)
然而,
SELECT user_id FROM preferences WHERE EXISTS( SELECT 1 FROM skeys(skills) AS k WHERE k LIKE '%a%');
user_id
---------
1
(1 row)