SQL 服务器 JSON 将行转列
SQL Server JSON Transpose rows to columns
DECLARE @json NVARCHAR(MAX)
SET @json='{"name":"John","surname":"Doe","age":45,"skills":["SQL","C#","MVC"]}';
SELECT *
FROM OPENJSON(@json);
这给了你
键、值和类型作为列。
我想将名字、姓氏和年龄列为列。
该行是 John, Doe, 45.
如何翻转或调换列和行?
我尝试过 pivot 但无法正常工作。
您将使用 openjson()
的 with
子句:
select *
from openjson(@json) with (
name nvarchar(max),
surname nvarchar(max),
age int
);
name | surname | age
:--- | :------ | --:
John | Doe | 45
DECLARE @json NVARCHAR(MAX)
SET @json='{"name":"John","surname":"Doe","age":45,"skills":["SQL","C#","MVC"]}';
SELECT *
FROM OPENJSON(@json);
这给了你 键、值和类型作为列。
我想将名字、姓氏和年龄列为列。 该行是 John, Doe, 45.
如何翻转或调换列和行? 我尝试过 pivot 但无法正常工作。
您将使用 openjson()
的 with
子句:
select *
from openjson(@json) with (
name nvarchar(max),
surname nvarchar(max),
age int
);
name | surname | age :--- | :------ | --: John | Doe | 45