【发布时间】:2021-09-30 13:14:08
【问题描述】:
我有一个名为 Employee 的表,我想把它转成一个新表:
即动态入新表意味着可以动态改变JSON数据的属性个数:
如何在 SQL Server 2017 中动态执行?
【问题讨论】:
标签: json sql-server pivot-table dynamic-queries
我有一个名为 Employee 的表,我想把它转成一个新表:
即动态入新表意味着可以动态改变JSON数据的属性个数:
如何在 SQL Server 2017 中动态执行?
【问题讨论】:
标签: json sql-server pivot-table dynamic-queries
您可以将OPENJSON 与表定义一起使用。
您只需要使用REPLACE 使其成为有效的JSON
SELECT
e.id,
e.name,
j.score,
j.point
FROM Employee AS e
CROSS APPLY OPENJSON(REPLACE(REPLACE(e.info, 'point', '"point"'), 'score', '"score"'))
WITH (score int, point int) AS j;
【讨论】:
[{score: 20, point: 10}] 不是有效的 JSON(对于 SQL Server)..