,可以使用PostgreSQL的jsonb类型的内置函数和操作符来实现。
首先,我们可以使用jsonb_each函数将jsonb对象展开为键值对的形式。然后,使用WHERE子句过滤出值为true的键值对。最后,使用DISTINCT关键字去重,只返回键的列表。
以下是一个示例查询语句:
SELECT DISTINCT jsonb_object_keys(data) AS keys
FROM your_table
CROSS JOIN LATERAL jsonb_each(your_table.jsonb_column) AS t(key, value)
WHERE value = 'true';
在上述查询语句中,your_table
是你的表名,jsonb_column
是包含jsonb对象的列名,data
是jsonb对象的别名。
这个查询语句将返回一个包含所有值为true的键的列表。
对于腾讯云的相关产品,可以使用腾讯云的云数据库 PostgreSQL 来存储和查询 jsonb 数据。云数据库 PostgreSQL 是腾讯云提供的一种高性能、高可用的关系型数据库服务,支持 PostgreSQL 的全部特性。
腾讯云云数据库 PostgreSQL 的产品介绍链接地址:https://cloud.tencent.com/product/postgres
领取专属 10元无门槛券
手把手带您无忧上云