SQL Server 2016 JSON 변환: 개체 배열을 값 배열로
SQL Server 2016은 강력한 JSON 기능을 제공하여 보고 및 통합을 위한 데이터 변환을 단순화합니다. 이 예에서는 객체의 SQL 배열을 JSON 구조 내에서 더 간단한 값 배열로 변환하는 일반적인 요구 사항을 해결합니다.
시나리오:
다음과 같은 데이터가 포함된 테이블 #temp
을 생각해 보세요.
#temp 테이블:
| 아이템_ID | |---|---| | 1234 | | 5678 | | 7890 |
목표는 이 데이터를 JSON으로 변환하여 item_id
값을 개체 배열이 아닌 단일 배열로 표시하는 것입니다.
대상 JSON 구조:
<code class="language-json">{ "ids": [ "1234", "5678", "7890" ] }</code>
해결책:
이 효율적인 쿼리는 원하는 변환을 달성합니다.
<code class="language-sql">SELECT JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + CAST(item_id AS VARCHAR(MAX)) + '"' FROM #temp FOR XML PATH('')),1,1,'') + ']' ) AS ids FOR JSON PATH, WITHOUT_ARRAY_WRAPPER;</code>
설명:
이 쿼리는 FOR XML PATH('')
을 교묘하게 사용하여 따옴표로 묶인 item_id
값의 쉼표로 구분된 문자열을 생성합니다. STUFF
선행 쉼표를 제거합니다. 그런 다음 결과 문자열을 대괄호([]
)로 묶어 유효한 JSON 배열을 형성하고 JSON_QUERY
을 사용하여 구문 분석합니다. 마지막으로 FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
는 출력 형식을 원하는 JSON 개체로 지정합니다.
출력:
쿼리를 실행하면 대상 JSON 구조가 생성됩니다.
<code class="language-json">{ "ids": [ "1234", "5678", "7890" ] }</code>
이 방법은 SQL Server 2016 내에서 JSON 배열 변환을 관리하는 간결하고 효과적인 방법을 제공합니다.
위 내용은 SQL 개체 배열을 JSON의 값 배열로 변환하는 방법(SQL Server 2016)?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!