중첩 된 JSON 배열을 SQL Server 테이블에 삽입하는 방법

ofir sarfaty

SQL Server의 "OPENJSON WITH (..."구문)를 사용하여 테이블에 JSON 파일을 삽입하려고합니다. 그러나이 파일에는 처리 방법을 모르는 중첩 배열이 포함되어 있습니다.

다음은 내 JSON 파일입니다.

}
    "Person_ID":["7120","4816","6088"],
    "Occupant_Type":["ADT","SCD","MCD"],
    "Occupant_Gender":["M","F","M"],
    "Occupant_Height":[180,102,127],
    "Occupant_Weight":[68,20,22],
    "Occupant_Age":[23,2.5,5.5],
    "Occupied_Region":[],
    "Occupant_Type_Region":[]
}

그리고 여기에 내가 사용하려고 한 코드가 있습니다.

DECLARE @test_data varchar(max)

SELECT @test_data = BulkColumn
FROM OPENROWSET (BULK 'C:\Users\ofiri\OneDrive\Desktop\אופיר\BWR\Data for testing\chevrolet_spark json files\03.03.2020 copy14', SINGLE_CLOB) import 


insert into Person1([ID])
select [ID]
from openjson(@test_data,'$."Person_ID"')
with(
    [ID] VARCHAR '$."Person_ID"'
)

cross apply 

openjson (@test_data,'$."Occupant_Type"')

하지만 코드를 실행 한 후 테이블의 모든 속성은 null.

테이블에 값을 어떻게 삽입 할 수 있습니까?

Zhorov

구문은 다를 수 있으며 예상 결과에 따라 다릅니다. 물론 대상 테이블 구조도 중요합니다. 질문의 JSON에 입력 오류가 있습니다. 올바른 JSON은 다음과 같습니다.

DECLARE @json nvarchar(max) = N'
{
    "Person_ID":["7120","4816","6088"],
    "Occupant_Type":["ADT","SCD","MCD"],
    "Occupant_Gender":["M","F","M"],
    "Occupant_Height":[180,102,127],
    "Occupant_Weight":[68,20,22],
    "Occupant_Age":[23,2.5,5.5],
    "Occupied_Region":[],
    "Occupant_Type_Region":[]
}'

OPENSON()호출 의 오류 는 잘못된 경로 $.Person_ID입니다 $. 중첩 된 각 JSON 배열을 개별적으로 구문 분석하려면 OPENJSON()명시 적 스키마와 함께 사용해야 하며 올바른 문은 다음과 같습니다.

SELECT [ID]
FROM OPENJSON (@json, '$.Person_ID') WITH ([ID] varchar(4) '$')

결과는 다음과 같습니다.

ID
7120
4816
6088

그러나 JSON이 다른 사람에 대한 정보를 보유하고 있다면 OPENJSON()기본 스키마와 다음과 같은 명령문을 사용해야 합니다.

SELECT 
   j1.[value] AS Person_ID, 
   j2.[value] AS Occupant_Type, 
   j3.[value] AS Occupant_Gender,
   j4.[value] AS Occupant_Height,
   j5.[value] AS Occupant_Weight,
   j6.[value] AS Occupant_Age,
   j7.[value] AS Occupied_Region,
   j8.[value] AS Occupant_Type_Region
FROM OPENJSON(@json, '$."Person_ID"') j1
FULL JOIN OPENJSON(@json, '$."Occupant_Type"') j2 ON j1.[key] = j2.[key]
FULL JOIN OPENJSON(@json, '$."Occupant_Gender"') j3 ON j1.[key] = j3.[key]
FULL JOIN OPENJSON(@json, '$."Occupant_Height"') j4 ON j1.[key] = j4.[key]
FULL JOIN OPENJSON(@json, '$."Occupant_Weight"') j5 ON j1.[key] = j5.[key]
FULL JOIN OPENJSON(@json, '$."Occupant_Age"') j6 ON j1.[key] = j6.[key]
FULL JOIN OPENJSON(@json, '$."Occupied_Region"') j7 ON j1.[key] = j7.[key]
FULL JOIN OPENJSON(@json, '$."Occupant_Type_Region"') j8 ON j1.[key] = j8.[key]

결과 :

Person_ID   Occupant_Type Occupant_Gender Occupant_Height Occupant_Weight Occupant_Age Occupied_Region Occupant_Type_Region
7120        ADT           M               180             68              23           
4816        SCD           F               102             20              2.5          
6088        MCD           M               127             22              5.5          

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

재료 각도가있는 HTML 테이블에 중첩 된 json 배열을 표시하는 방법

분류에서Dev

Scala에서 중첩 된 JSON 배열을 업데이트하는 방법

분류에서Dev

AESON을 사용하여 중첩 된 JSON에서 배열을 읽는 방법

분류에서Dev

AESON을 사용하여 중첩 된 JSON에서 배열을 읽는 방법

분류에서Dev

중첩 배열이있는 SQL Server 테이블로 JSON 파일 가져 오기

분류에서Dev

SQL Server에서 여러 테이블에 다중 삽입을 수행하는 방법

분류에서Dev

중첩 된 JSON 배열 내에서 배열을 비교하는 방법은 무엇입니까?

분류에서Dev

Android에서 중첩 된 JSON 배열을 구문 분석하는 방법

분류에서Dev

node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

분류에서Dev

중첩 된 PL / SQL 블록에서 테이블을 즉시 생성하는 방법

분류에서Dev

삽입 트리거 SQL Server에서 변수에 삽입 된 테이블을 사용하는 방법은 무엇입니까?

분류에서Dev

중첩 된 양식 값을 DB에 삽입하는 방법

분류에서Dev

중첩 된 SQL 테이블을 복사하는 방법 (변경 내역 구현)

분류에서Dev

C #에서 2 개의 SQL 테이블에 중첩 된 JSON 삽입

분류에서Dev

ASP.Net Web API의 SQL 테이블에서 중첩 된 JSON 개체를 가져 오는 방법

분류에서Dev

중첩 된 json 배열에서 특정 객체 값을 얻는 방법

분류에서Dev

SQL Server의 테이블 셀에 여러 값을 삽입하는 방법

분류에서Dev

중첩 된 json 배열을 여러 배열로 변환하는 방법이 있습니까?

분류에서Dev

SQL Server의 EAV 테이블에서 JSON을 만드는 방법

분류에서Dev

중첩 된 json을 Javascript에서 객체 배열로 변환하는 방법은 무엇입니까?

분류에서Dev

SQL SERVER에서 피벗 된 테이블을 업데이트하는 방법

분류에서Dev

SQL Server 데이터베이스 테이블에 문자열 목록을 삽입하는 방법

분류에서Dev

TSQL을 사용하여 SQL 테이블에 행을 삽입하기 위해 JSON 배열을 반복하는 방법은 무엇입니까?

분류에서Dev

SQL Server의 열 테이블에 텍스트 파일 이름을 삽입하는 방법

분류에서Dev

lua에서 테이블에 중첩 된 bool을 확인하는 방법

분류에서Dev

문자열을 중첩 된 JSON 배열로 변환하는 방법

분류에서Dev

중첩 된 json을 반복하고 필드에서 배열 고유 값을 얻는 방법

분류에서Dev

중첩 된 테이블 안에있는 행을 추가하는 방법

분류에서Dev

테이블보기에 중첩 된 JSON 데이터를 표시하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    재료 각도가있는 HTML 테이블에 중첩 된 json 배열을 표시하는 방법

  2. 2

    Scala에서 중첩 된 JSON 배열을 업데이트하는 방법

  3. 3

    AESON을 사용하여 중첩 된 JSON에서 배열을 읽는 방법

  4. 4

    AESON을 사용하여 중첩 된 JSON에서 배열을 읽는 방법

  5. 5

    중첩 배열이있는 SQL Server 테이블로 JSON 파일 가져 오기

  6. 6

    SQL Server에서 여러 테이블에 다중 삽입을 수행하는 방법

  7. 7

    중첩 된 JSON 배열 내에서 배열을 비교하는 방법은 무엇입니까?

  8. 8

    Android에서 중첩 된 JSON 배열을 구문 분석하는 방법

  9. 9

    node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

  10. 10

    중첩 된 PL / SQL 블록에서 테이블을 즉시 생성하는 방법

  11. 11

    삽입 트리거 SQL Server에서 변수에 삽입 된 테이블을 사용하는 방법은 무엇입니까?

  12. 12

    중첩 된 양식 값을 DB에 삽입하는 방법

  13. 13

    중첩 된 SQL 테이블을 복사하는 방법 (변경 내역 구현)

  14. 14

    C #에서 2 개의 SQL 테이블에 중첩 된 JSON 삽입

  15. 15

    ASP.Net Web API의 SQL 테이블에서 중첩 된 JSON 개체를 가져 오는 방법

  16. 16

    중첩 된 json 배열에서 특정 객체 값을 얻는 방법

  17. 17

    SQL Server의 테이블 셀에 여러 값을 삽입하는 방법

  18. 18

    중첩 된 json 배열을 여러 배열로 변환하는 방법이 있습니까?

  19. 19

    SQL Server의 EAV 테이블에서 JSON을 만드는 방법

  20. 20

    중첩 된 json을 Javascript에서 객체 배열로 변환하는 방법은 무엇입니까?

  21. 21

    SQL SERVER에서 피벗 된 테이블을 업데이트하는 방법

  22. 22

    SQL Server 데이터베이스 테이블에 문자열 목록을 삽입하는 방법

  23. 23

    TSQL을 사용하여 SQL 테이블에 행을 삽입하기 위해 JSON 배열을 반복하는 방법은 무엇입니까?

  24. 24

    SQL Server의 열 테이블에 텍스트 파일 이름을 삽입하는 방법

  25. 25

    lua에서 테이블에 중첩 된 bool을 확인하는 방법

  26. 26

    문자열을 중첩 된 JSON 배열로 변환하는 방법

  27. 27

    중첩 된 json을 반복하고 필드에서 배열 고유 값을 얻는 방법

  28. 28

    중첩 된 테이블 안에있는 행을 추가하는 방법

  29. 29

    테이블보기에 중첩 된 JSON 데이터를 표시하는 방법은 무엇입니까?

뜨겁다태그

보관