我在数据类型(文本)为[{"address":"127.0.0.1","family":2,"fd":3}, {"address":"127.0.0.1","family":2,"fd":5}]的列中有一个json数组我想写一个查询,使它只显示来自json数组的fd字段。我该怎么做呢?
[{"address":"127.0.0.1","family":2,"fd":3}, {"address":"127.0.0.1","family":2,"fd":5}]
ilmyapht1#
select json_array_elements(your_column::json)->>'fd' from your_table;。这将首先将您的元素强制转换为json,然后展开数组,然后选择“fd”字段。如果这对您不起作用,请使用表的确切详细信息、一些示例数据和预期输出来增强您的问题。此查询可能无法执行,具体取决于表的大小。此外,从性能的Angular 来看,最好将json数据存储为postgres中的jsonb数据类型。
select json_array_elements(your_column::json)->>'fd' from your_table;
jsonb
1条答案
按热度按时间ilmyapht1#
select json_array_elements(your_column::json)->>'fd' from your_table;
。这将首先将您的元素强制转换为json,然后展开数组,然后选择“fd”字段。如果这对您不起作用,请使用表的确切详细信息、一些示例数据和预期输出来增强您的问题。此查询可能无法执行,具体取决于表的大小。此外,从性能的Angular 来看,最好将json数据存储为postgres中的jsonb
数据类型。