Skip to content

Latest commit

 

History

History
50 lines (41 loc) · 1.71 KB

File metadata and controls

50 lines (41 loc) · 1.71 KB
title Columns that Contain a Null Value By Default | Microsoft Docs
ms.custom fresh2019may
ms.date 05/22/2019
ms.prod sql
ms.prod_service database-engine
ms.reviewer
ms.technology xml
ms.topic conceptual
helpviewer_keywords
columns [XML in SQL Server], null default value
ms.assetid 9381c07f-6887-4a62-9730-32661f9aa87c
author MightyPen
ms.author genemi

Columns that Contain a Null Value By Default

[!INCLUDEappliesto-ss-asdb-xxxx-xxx-md]

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.

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;

The following shows the result. Note that if XSINIL is not specified, the <Middle> element will be absent.

<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>  

See Also

Use PATH Mode with FOR XML