SQL Server에 JSON 파일을 가져오는 방법을 설명합니다. 파일에 저장된 JSON 데이터를 읽고, 데이터를 SQL Server에 로드하여 분석합니다.
적용 대상: SQL Server 2016(13.x) 이상
* SQL Server가 설치된 PC에 파일이 있어야 합니다.
1. JSON 파일의 콘텐츠를 읽고 BulkColumn 단일 값으로 반환
SELECT BulkColumn
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j;
OPENROWSET(BULK), 로컬 드라이브 또는 네트워크에 있는 모든 파일에서 데이터를 읽을 수 있는 테이블 반환 함수입니다. 파일의 콘텐츠를 포함하는 단일 열로 된 테이블을 반환합니다.
2. JSON 파일의 콘텐츠를 로드한 후 JSON 텍스트를 #temp 임시 테이블에 저장
SELECT BulkColumn
INTO #temp
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
3. 단일 값으로 전체 JSON 파일을 읽지 않고 파일 구문을 분석하여 행과 열에 반환
SELECT value
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)
OPENJSON(), BulkColumn 배열에서 각 행에 하나의 JSON 개체를 반환합니다.
4. 로드된 JSON을 구문 분석하여 필드를 열로 반환
SELECT product.*
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)
WITH([ProductID] int, [Name] nvarchar(50), ProductNumber nvarchar(25), Color nvarchar(15), StandardCost money) AS product
5. Json 파일의 컨텐츠를 테이블에 저장
SELECT product.*
INTO new_product
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)
WITH([ProductID] int, [Name] nvarchar(50), ProductNumber nvarchar(25), Color nvarchar(15), StandardCost money) AS product
[MSSQL] Json 형식으로 데이터 출력 및 파일생성 (0) | 2023.01.09 |
---|---|
[MSSQL] INSERT INTO SELECT (0) | 2022.12.28 |
[SQL Server] MSSQL 계정 패스워드 변경 sp_password (0) | 2022.11.03 |
[MSSQL] 한글 깨짐 (0) | 2022.10.15 |
[MSSQL] COLLATE 데이터 정렬 조회 및 변경 (0) | 2022.10.14 |
댓글 영역