- The XML type can accommodate values up to 2 GB in size. However, operations like XSLT and XQuery are only supported on documents that are smaller in size.
- XML type columns cannot be used in the following situations:
- Occur in queue tables
- Be part of an index
- Participate in joins
An XML type that is a non-LOB type can be part of a join index, but cannot be part of the primary index of the join index. - You cannot use XML type columns in clauses that depend on ordering or comparison, such as ORDER BY, GROUP BY, or HAVING.
- You cannot use XML values in arithmetic expressions. XML values can be of a type, such as xs:int, that can be used in arithmetic computations. You can cast the XML value to the appropriate SQL type to perform the computation.
- XML type values are not comparable and must not be used in relational comparison operations (for example >, <, =). XML values can be explicitly cast to other scalar SQL types, and values of those types may be comparable. For example, if the value is known to be of XML type xs:int, the value can be cast to SQL integer data type and then the integers can be compared.XML values are not comparable, and therefore cannot be included in checks for row duplication (for example, during an insert into a set table). This behavior is similar to CLOBs/BLOBs which also do not participate in row duplication checks.
- Although the external representation of XML values is of the character string type, string operations are not allowed directly on the XML values. XML can be serialized or cast to generate a string representation before you apply the string operation.