>데이터 베이스 >MySQL 튜토리얼 >SQL 2016에서 SQL Server 개체 배열을 JSON 값 배열로 변환하는 방법은 무엇입니까?

SQL 2016에서 SQL Server 개체 배열을 JSON 값 배열로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-09 18:52:41329검색

How to Convert a SQL Server Array of Objects to an Array of JSON Values in SQL 2016?

SQL에서 JSON으로 변환: SQL 2016에서 객체 배열을 값 배열로 변환

SQL 2016은 SQL Server 데이터를 JSON으로 변환하는 기능을 제공하여 가능성을 확장합니다. 그러나 객체 배열을 처리할 때 필요한 JSON 구조가 기본 변환 결과와 다를 수 있는 경우가 있습니다.

특히 객체 배열을 JSON으로 변환할 때 기본 동작은 객체를 상위 배열 내에 자체 배열로 포함하는 것입니다. 예:

<code class="language-sql">SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))</code>

결과:

<code class="language-json">{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}</code>

어떤 경우에는 중첩된 구조 없이 객체 배열을 값 배열로 표시하는 것이 더 나을 수도 있습니다.

이를 달성하기 위해 중간 XML 변환을 사용할 수 있습니다.

<code class="language-sql">SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER</code>

이 단계에서는 데이터를 평면화된 XML 구조로 변환한 다음 JSON_QUERY()WITHOUT_ARRAY_WRAPPER 매개변수를 사용하여 JSON으로 변환할 수 있습니다. 결과는 다음 값을 포함하는 원하는 배열입니다.

<code class="language-json">"ids": [
        "1234",
        "5678",
        "7890"
    ]</code>

위 내용은 SQL 2016에서 SQL Server 개체 배열을 JSON 값 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.