xml (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![yes](media/yes.png)Azure SQL Database ![no](media/no.png)Azure SQL Data Warehouse ![no](media/no.png)Parallel Data Warehouse

Is the data type that stores XML data. You can store xml instances in a column, or a variable of xml type.

Topic link icon Transact-SQL Syntax Conventions

Syntax

  
xml ( [ CONTENT | DOCUMENT ] xml_schema_collection )  

Arguments

CONTENT
Restricts the xml instance to be a well-formed XML fragment. The XML data can contain multiple zero or more elements at the top level. Text nodes are also allowed at the top level.

This is the default behavior.

DOCUMENT
Restricts the xml instance to be a well-formed XML document. The XML data must have one and only one root element. Text nodes are not allowed at the top level.

xml_schema_collection
Is the name of an XML schema collection. To create a typed xml column or variable, you can optionally specify the XML schema collection name. For more information about typed and untyped XML, see Compare Typed XML to Untyped XML.

Remarks

The stored representation of xml data type instances cannot exceed 2 gigabytes (GB) in size.

The CONTENT and DOCUMENT facets apply only to typed XML. For more information see Compare Typed XML to Untyped XML.

Examples

USE AdventureWorks;  
GO  
DECLARE @DemographicData xml (Person.IndividualSurveySchemaCollection);  
SET @DemographicData =  (SELECT TOP 1 Demographics FROM Person.Person);  
SELECT @DemographicData;  
GO  

See Also

Data Type Conversion (Database Engine)
Data Types (Transact-SQL)
xml Data Type Methods
XQuery Language Reference (SQL Server)