fix: Comparing xml data types sql server 2005 2008 r2 2012 – SQLSERVERLEARNER https://sqlserverlearner.com LEARN SQL SERVER ONLINE Mon, 14 May 2012 07:56:16 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 The XML data type cannot be compared or sorted, except when using the IS NULL operator. https://sqlserverlearner.com/2012/05/14/the-xml-data-type-cannot-be-compared-or-sorted-except-when-using-the-is-null-operator/ https://sqlserverlearner.com/2012/05/14/the-xml-data-type-cannot-be-compared-or-sorted-except-when-using-the-is-null-operator/#respond Mon, 14 May 2012 07:56:16 +0000 https://sqlserverlearner.azurewebsites.net/2012/05/14/the-xml-data-type-cannot-be-compared-or-sorted-except-when-using-the-is-null-operator/ Error:

Msg 305, Level 16, State 1, Line 1
The XML data type cannot be compared or sorted, except when using the IS NULL operator.

Reason for this error message:
1) Comparing XML Data type Columns/Variables.
2) Sorting based on XML Data types

Example Queries:
[sql]
DECLARE @A XML
DECLARE @B XML

SELECT 1 WHERE @A = @B
[/sql]

Fix/Resolution:
1) Check if the query contains direct comparisions based on XML Data type columns/Variables.
1) Check if the query uses xml datatype in the order by clause.
3) Cast the XML Datatypes to varchar(or some other compatable form) and Compare/sort.
2) Use xquery to Compare/sort XML Data types values indirectly.

]]>
https://sqlserverlearner.com/2012/05/14/the-xml-data-type-cannot-be-compared-or-sorted-except-when-using-the-is-null-operator/feed/ 0