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 的 ? 操作符不像 @> / <@ 一样有可以互换方向的, ? 要求筛选的内容必须写在其左边. 这可如何是好?