0
DECLARE @json NVARCHAR(MAX)

SET @json='{"name":"John","surname":"Doe","age":45,"skills":["SQL","C#","MVC"]}';

SELECT *
FROM OPENJSON(@json);

这为您提供了键、值和类型作为列。

我想将姓名、姓氏和年龄作为列。该行将是 John, Doe, 45。

如何翻转或转置列和行?我试过枢轴但无法让它工作。

4

1 回答 1

2

您将使用以下with子句openjson()

select * 
from openjson(@json) with (
    name nvarchar(max), 
    surname nvarchar(max), 
    age int
);

DB Fiddle 上的演示

姓名 | 姓氏 | 年龄
:--- | :-------- | --:
约翰 | 能源部 | 45
于 2020-09-02T19:55:48.480 回答