xml (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

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

Transact-SQL syntax conventions

Syntax

xml [ ( [ CONTENT | DOCUMENT ] xml_schema_collection ) ]

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

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 aren't 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 can't 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