假设我有一个PostgreSQL表,其中包含以下架构:
id: 1,
attribute_a: 'value'
attribute_b: 'value'
data: { attribute_c: 'value', array_of_values: [1,2,3] }
data
存储在JSON结构中的位置。是否可以通过array_of_values length命令表中的元素?
答案 0 :(得分:2)
使用json_array_length()
或jsonb_array_length()
,例如Eggplant commented。假设jsonb
:
SELECT *
FROM tbl
ORDER BY jsonb_array_length(data->'array_of_values')
BTW,您的JSON值的语法应为:
{"attribute_c": "value", "array_of_values": [1, 2, 3]}