SQL Server JSON 将行转置为列
Posted
技术标签:
【中文标题】SQL Server JSON 将行转置为列【英文标题】:SQL Server JSON Transpose rows to columns 【发布时间】:2020-09-02 19:52:54 【问题描述】:DECLARE @json NVARCHAR(MAX)
SET @json='"name":"John","surname":"Doe","age":45,"skills":["SQL","C#","MVC"]';
SELECT *
FROM OPENJSON(@json);
这给了你 键、值和类型作为列。
我想将姓名、姓氏和年龄作为列。 该行将是 John, Doe, 45。
如何翻转或转置列和行? 我尝试过 pivot 但无法让它工作。
【问题讨论】:
【参考方案1】:您将使用openjson()
的with
子句:
select *
from openjson(@json) with (
name nvarchar(max),
surname nvarchar(max),
age int
);
Demo on DB Fiddle:
姓名 |姓氏 |年龄 :--- | :-------- | --: 约翰 |能源部 | 45【讨论】:
以上是关于SQL Server JSON 将行转置为列的主要内容,如果未能解决你的问题,请参考以下文章