예: ELEMENTXSINIL 지시문 지정
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
요소 중심 XML을 검색하는 ELEMENT 지시문을 지정하는 경우 열에 NULL 값이 있는 경우 해당 요소는 EXPLICIT 모드에서 생성되지 않습니다. 필요에 따라 ELEMENTXSINIL 지시문을 지정하여 xsi:nil 특성이 TRUE 값으로 설정된 NULL 값에 대한 생성 요소를 요청할 수 있습니다.
다음 쿼리는 직원 주소를 포함하는 XML을 생성합니다. 열의 City
경우 AddressLine2
열 이름은 지시문을 지정합니다ELEMENTXSINIL
. 이렇게 하면 행 집합의 열 및 City
NULL 값 AddressLine2
에 대한 요소가 생성됩니다.
USE AdventureWorks2022;
GO
SELECT 1 as Tag,
NULL as Parent,
E.BusinessEntityID as [Employee!1!EmpID],
BEA.AddressID as [Employee!1!AddressID],
NULL as [Address!2!AddressID],
NULL as [Address!2!AddressLine1!ELEMENT],
NULL as [Address!2!AddressLine2!ELEMENTXSINIL],
NULL as [Address!2!City!ELEMENTXSINIL]
FROM HumanResources.Employee AS E
INNER JOIN Person.BusinessEntityAddress AS BEA
ON E.BusinessEntityID = BEA.BusinessEntityID
UNION ALL
SELECT 2 as Tag,
1 as Parent,
E.BusinessEntityID,
BEA.AddressID,
A.AddressID,
AddressLine1,
AddressLine2,
City
FROM HumanResources.Employee AS E
INNER JOIN Person.BusinessEntityAddress AS BEA
ON E.BusinessEntityID = BEA.BusinessEntityID
INNER JOIN Person.Address AS A
ON BEA.AddressID = A.AddressID
ORDER BY [Employee!1!EmpID],[Address!2!AddressID]
FOR XML EXPLICIT;
다음은 부분 결과입니다.
<Employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
EmpID="1"
AddressID="249">
<Address AddressID="249">
<AddressLine1>4350 Minute Dr.</AddressLine1>
<AddressLine2 xsi:nil="true" />
<City>Minneapolis</City>
</Address>
</Employee>
...
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기