postgresql jsonb 查询
warning:
这篇文章距离上次修改已过433天,其中的内容可能已经有所变动。
在PostgreSQL中,可以使用jsonb数据类型来存储JSON数据,并提供了一系列的函数和操作符来查询这些数据。以下是一些常见的jsonb查询示例:
- 查询JSON对象中的特定字段:
SELECT data->'name' AS name
FROM your_table
WHERE data @> '{"name": "YourValue"}';- 查询JSON数组中的特定元素:
SELECT data->'items'->>0 AS first_item
FROM your_table
WHERE data->'items' IS NOT NULL;- 查询嵌套JSON对象:
SELECT data->'info'->'address'->>'street' AS street_name
FROM your_table
WHERE data->'info'->'address'->>'city' = 'YourCity';- 查询包含特定键的JSON对象:
SELECT *
FROM your_table
WHERE data ? 'name';- 查询JSON对象的键/值对的数量:
SELECT jsonb_object_keys(data), jsonb_object_field_count(data)
FROM your_table
WHERE jsonb_object_field_count(data) > 5;- 查询JSON数据中的所有键:
SELECT jsonb_object_keys(data)
FROM your_table;- 查询JSON数据中的所有值:
SELECT jsonb_object_keys(data) AS keys,
jsonb_agg(data -> keys) AS values
FROM your_table
CROSS JOIN LATERAL jsonb_object_keys(data) AS keys
GROUP BY keys;确保替换your_table和data为你的实际表名和列名,并将YourValue, YourCity等替换为你的实际查询条件。
评论已关闭