2016-09-22 3 views
0
{ 
    "ID":1, 
    "KEY1":"", 
    "ARRAYKEY1":[ 
     { 
      "ARRAYKEY":"" 
      "OBJECTKEY":{ 
       "OBJ":"" 
      } 
     } 
    ] 
} 

위의 것은 데이터베이스에 저장된 JSON 객체이며 OPENJSON을 사용하여 표 형식을 만들고 싶습니다. 나는 OPENJSON WITH()을하고 모든 컬럼을 수동으로 만들 수 있다는 것을 알고있다. 테이블에 대한 각 키를 식별하지 않고도 재귀 적 또는 프로그래밍 방식으로 테이블을 만드는 방법에 대해 알고 싶습니다. 나는 약 12 ​​개의 들판을 가지고 끝낼 수 있었다. 나는 항목을 제외하는 것에 대해 걱정하지 않는다. 모든 레코드를 다시 가져 오려면 새 2016 SQL Server를 어디에서 시작할 수 있습니까?JSON을 테이블로 바꾸기

답변

2

Here은 공식 문서입니다.

SET @json = 
N'[ 
     { "id" : 2,"info": { "name": "John", "surname": "Smith" }, "age": 25 }, 
     { "id" : 5,"info": { "name": "Jane", "surname": "Smith" }, "dob": "2005-11-04T12:00:00" } 
]' 

SELECT * 
FROM OPENJSON(@json) 
WITH (id int 'strict $.id', 
     firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname', 
     age int, dateOfBirth datetime2 '$.dob') 
+0

나는 공식 문서에 대해 알고 있습니다. 그러나 그것은 수동으로 각각의 열을 생성합니다. 누구든지 동적으로 생성하고 전체 JSON 객체를 테이블로 변환하는 방법에 대한 아이디어가 있는지 살펴볼 것입니다. – tjg92

관련 문제