thetable
表中有一个名为 jsonb_array
的字段, 类型是 jsonb[]
.
该字段有以下数据:
[{"a": 1}]
[{"a": 2}]
[{"b": 1}]
[{"b": 2}]
我想要把
[{"b": 1}]
[{"b": 2}]
取出来, 使用 SELECT * FROM thetable WHERE ANY (jsonb_array) ? 'b';
报错.
因为 ANY() 要求必须写在 operator 的右边. 可是 jsonb 的 ?
操作符不像 @> / <@
一样有可以互换方向的, ?
要求筛选的内容必须写在其左边. 这可如何是好?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.