首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以下列格式从postgres中提取字符串{'x:'data','old_x':'Datax'}

如何以下列格式从postgres中提取字符串{'x:'data','old_x':'Datax'}
EN

Stack Overflow用户
提问于 2019-08-22 14:08:07
回答 1查看 31关注 0票数 0

我有如下类型的数据,如在我的行中

代码语言:javascript
复制
{'new_value_formatted': 'Committed/Test Transaction', 'old_value_formatted': 'Completed'}

我希望将new_value_formatted & old_value_formatted作为单独的列和数据以列形式存储

尝试regex‘((A/ )\w+)’。还是无法隔离。

代码语言:javascript
复制
select a.id,a.title,additional_data,
substring(b.additional_data ->> "old_value_formatted" FROM '[0-9a-zA-Z]+')  as "Old Value", 
substring(b.additional_data ->> "new_value_formatted" FROM '[0-9a-zA-Z]+')  as "New from table a,b....
代码语言:javascript
复制
Old Value | New_Value    
__________|____________
xxxxx .   | xxxxx
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-22 14:32:18

这里显示的格式是无效的json。使用双引号。如果在postgresql 9.2+上,我会执行replace(data,'\'','"')::json来获得有效的json,处理引用问题。然后您可以选择new_data ->> 'new_value_formatted'

我使用new_data作为有效json版本的占位符。

如果你需要这个做更老的版本,请回来找我。

这还没有经过测试,因为我手头没有机器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57611256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档