我有以下数据库结构:
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. 我的问题不是在TSQL中解析JSON的重复。我需要找出在行中解析异构JSON的方法。