关于postgresql jsonb类型的查询问题

现在pg有一列jsonb类型的expression,他的值是这样
[{"must": {"match": {"classIds": [1,5]}}}]
怎么提取里面的 classIds 做类似 sql中in(1,5)的查询?

阅读 3.9k
1 个回答

找了个解决方案:
SELECT * FROM (SELECT *, ((jsonb_array_elements(search_expression) :: jsonb->'match') :: jsonb->'classIds' :: jsonb)) as class_id FROM item_category) t WHERE class_id <@ '[1,5]'::jsonb

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进