NULL 値が含まれる列の既定動作
既定で、列内の NULL 値は、属性、ノード、または要素がない状態にマップされます。この既定動作を変更するには、次のクエリに示すように、ELEMENTS ディレクティブで要素中心の XML を要求し、NULL 値に対しても要素の追加を要求する XSINIL を指定します。
USE AdventureWorks2008R2;
GO
SELECT E.BusinessEntityID as "@EmpID",
FirstName as "EmpName/First",
MiddleName as "EmpName/Middle",
LastName as "EmpName/Last"
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntitytID
WHERE E.EmployeeID=1
FOR XML PATH, ELEMENTS XSINIL;
結果を次に示します。XSINIL を指定しないと、<Middle> 要素は出力されません。
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EmpID="1">
<EmpName>
<First>Ken</First>
<Middle xsi:nil="true" />
<Last>Sánchez</Last>
</EmpName>
</row>