我正在使用psql,并且有一个如下表:
id | dashboard_settings
-----------------------
1 | {"query": {"year_end": 2018, "year_start": 2015, "category": ["123"]}}
有很多行,但是对于每一行,“类别”值是一个带有一个整数(字符串格式)的数组。
是否可以“解包”类别对象?这样它只有123个整数?
我已经尝试过了,但是没有成功:
SELECT jsonb_extract_path_text(dashboard_settings->'query', 'category') from table
这将返回:
jsonb_extract_path_text | ["123"]
我想要的时间:
jsonb_extract_path_text | 123
答案 0 :(得分:1)
考虑:
select dashboard_settings->'query'->'category'->>0 c from mytable
| c | | :-- | | 123 |
答案 1 :(得分:1)
您需要使用数组访问运算符,该运算符仅需->>
后跟数组索引:
select jsonb_extract_path(dashboard_settings->'query', 'category') ->> 0
from the_table
或者:
select dashboard_settings -> 'query' -> 'category' ->> 0
from the_table