【发布时间】:2015-11-05 16:51:40
【问题描述】:
我有以下数据库结构:
ID Name Value
1 TV1 {"URL": "www.url.com", "Icon": "some_icon"}
2 TV2 {"URL": "www.url.com", "Icon": "some_icon", "Facebook": "Facebook_URL"}
3 TV3 {"URL": "www.url.com", "Icon": "some_icon", "Twitter": "Twitter_URL"}
..........
我正在寻找一个使用 SQL Server 2012 的本机函数的查询,以从 Value 列中提取 JSON,并动态创建列,我想针对不同的列数执行此操作无需硬编码列名称name、icon、twitter、facebook。所以我正在寻找的结果是:
ID Name URL Icon Facebook Twitter
1 TV1 www.url.com some_icon NULL NULL
2 TV2 www.url.com some_icon Facebook_URL NULL
3 TV3 www.url.com some_icon NULL Twitter_URL
如果原生 SQL Server 机制无法做到这一点,也许 PostgreSQL 可以做到,或者其他 RMDBS
PS。我的问题与Parse JSON in TSQL 不重复。我需要找出在行中解析异构 json 的方法
【问题讨论】:
-
你想做什么?你想将此 json 结构导入 SQL Server 表还是什么?
-
我需要编写一个查询来从列中提取 JSON,并动态创建列。描述中的所有细节。谢谢!
-
应该可以使用 SQL Server 2016 afaik JSON Support in SQL Server 2016
-
Parse JSON in TSQL的可能重复
-
关于转换有一个具体的问题,它不像上面的链接那么普遍。如果我错了,请纠正我
标签: sql sql-server json database