0

我的表中有 jsonb 字段“数据”。我可以通过获取 subKey 的值。select data#>'{key1,subKey}' from table如果路径作为字符串“key1,subKey”存储在另一个表中,如何将路径插入到 select 中?

4

1 回答 1

0

你真的应该把它存储为一个数组,而不是一个字符串,因为这就是它的使用方式。您可以将它动态拆分为一个数组,但是如果您需要逗号在路径中逐字出现怎么办?

with t as (select '{"key1":{"subKey":"foo"}}'::jsonb as data), 
     k as (select 'key1,subKey' as k)
select data#>regexp_split_to_array(k,',') from t,k;
于 2022-01-30T20:03:21.940 回答