T-SQL Tutorial

SQL Server XML XQuery()


The SQL Server XML XQuery() function is a powerful tool for querying and manipulating XML data stored in SQL Server databases. It allows you to extract specific data from an XML document or manipulate the structure of an XML document to meet specific requirements.

To use the XQuery() function, you need to have an XML data type column in your database table. You can then apply the XQuery() function to this column to extract specific information from the XML document.


Example

For example, suppose you have a table called "Employees" with an XML column called "EmployeeData".

CREATE TABLE Employees(
EmployeeData XML
);

INSERT INTO Employees VALUES(
'<Employees>
<Employee>
<ID>123</ID>
<FirstName>Jane</FirstName>
<LastName>Doe</LastName>
</Employee>
<Employee>
<ID>100</ID>
<FirstName>Laura</FirstName>
<LastName>White</LastName>
</Employee>
<Employee>
<ID>123</ID>
<FirstName>Joe</FirstName>
<LastName>Doe</LastName>
</Employee>
</Employees>');

You can use the XQuery() function to extract the first and last name of all employees whose ID is equal to 123 as follows:


SELECT EmployeeData.query('/Employees/Employee[ID=123]/FirstName') AS FirstName,
EmployeeData.query('/Employees/Employee[ID=123]/LastName') AS LastName
FROM Employees

In this example, the XQuery() function is used to extract the "FirstName" and "LastName" nodes from the "Employee" node where the "ID" attribute is equal to 123.

The XQuery() function can also be used to manipulate the structure of an XML document. For example, you can use it to add or remove nodes from an XML document or to combine multiple XML documents into a single document.

Overall, the SQL Server XML XQuery() function is a powerful tool for working with XML data in SQL Server databases. It provides a flexible and intuitive way to extract and manipulate data stored in XML format, making it an essential tool for developers and database administrators who work with XML data.