我有一个数据库表(叫它表)与jsonb列(让我们说列)。列包含以下数据:
{
"country": "GB",
"channel": "mobile",
"profileGroups: [
{
"profiles": ["profileA", "profileB"],
"negativeProfiles: ["negativeA"
},{
"profiles": ["profileC"],
"negativeProfiles": null
}
]
}
字符串
现在,我想为这个表创建一个视图,其中的字段是snake_case格式的,所以它看起来应该是这样的:
{
"country": "GB",
"channel": "mobile",
"profile_groups: [
{
"profiles": ["profileA", "profileB"],
"negative_profiles: ["negativeA"
},{
"profiles": ["profileC"],
"negative_profiles": null
}
]
}
型
我的最新查询看起来像这样:
CREATE OR REPLACE VIEW v_table
SELECT json_build_object(
'country', column_1 -> 'country',
'channel', column_1 -> 'channel',
'profile_groups', column_1 -> 'profileGroups'
)::jsonb as column_1
FROM table;
型
如何从profileGroups数组内部转换数据?
Example at DB Fiddle
1条答案
按热度按时间eivgtgni1#
如果你想要转换的元素已经知道了,那么我们可以使用一堆嵌套的
replace()
语句:字符串
Demo here