Columns that Contain a Null Value By Default
By default, a null value in a column maps to the absence of the attribute, node, or element.
By default, a null value in a column maps to the absence of the attribute, node, or element. This
default behavior can be overridden by using the ELEMENTS XSINIL keyword phrase. This phrase
requests element-centric XML. This means that null values are explicitly indicated in the
returned results. These elements will have no value.
The ELEMENTS XSINIL phrase is shown in the following Transact-SQL SELECT example.
The following shows the result. If XSINIL isn’t specified, the
element will be absent.
XML
Use PATH Mode with FOR XML
<Middle>
SELECT
EmployeeID as
"@EmpID"
,
FirstName as
"EmpName/First"
,
MiddleName as
"EmpName/Middle"
,
LastName as
"EmpName/Last"
FROM
HumanResources.Employee E, Person.Contact C
WHERE
E.EmployeeID = C.ContactID
AND
E.EmployeeID=1
FOR
XML
PATH
, ELEMENTS XSINIL;
<row xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
EmpID
=
"1"
>
<EmpName>
<First>
Gustavo
</First>
<Middle xsi:nil
=
"true"
/>
<Last>
Achong
</Last>
</EmpName>
</row>