【发布时间】:2023-03-14 02:06:01
【问题描述】:
我有一些数据结构大致如下:
id | data
1 | {"a": 4, "b": 5, "c": 19}
2 | {"a": 6, "b": 7}
3 | {"a": 8, "d": 3}
4 | {"a": 3, "b": 1}
我希望能够根据 json 中键的值过滤这些数据。如您所见,键在记录之间可能会有所不同。例如,我想获取每行值大于 4 的所有键值对。对于上面的数据,应该给出:
id | data
1 | {"b": 5, "c": 19}
2 | {"a": 6, "b": 7}
3 | {"a": 8}
4 | {} (for this row, it's fine if it's just left out, or returned as empty object)
我一直在寻找类似here 提供的答案,但我不想提供特定的字段名称。另外,如果条件成立,我想同时获得键和值。这是我第一次使用 Postgres jsonb,所以我可能缺少一个函数。
【问题讨论】:
标签: postgresql jsonb