【发布时间】:2017-08-21 05:43:40
【问题描述】:
我在 users 表上有一个名为 metadata 的 JSONB 列。我想获取 metadata->a->b 为 5、6 或 7 的用户。我可以这样做:
SELECT * FROM users
WHERE metadata @> '{"a": {"b": 5}}'
OR metadata @> '{"a": {"b": 6}}'
OR metadata @> '{"a": {"b": 7}}'; --etc.
有没有更有效的方法来进行这样的查询? JSONB 的 IN 之类的?
【问题讨论】:
-
(metadata->'a'->'b')::int in (5,6,7)不起作用?
标签: postgresql jsonb postgresql-9.5