- 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 where the processing operation does not require more memory than specified by the XML_MemoryLimit DBS Control field.
- XML type columns cannot be used in the following situations:
If the XML type is a non-LOB type, it can be part of a join index. However, it cannot be part of the primary index of the join index.
- Occur in queue tables
- Be part of an index
- Participate in joins
- 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. In this case, you can cast the XML value to the appropriate SQL type to perform the computation.
- XML type values are not comparable and should 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, it can be cast to SQL integer data type and then the integers can be compared.Because XML values are not comparable, they are not 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.