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 に答える