Available in versions: Dev (3.19) | Latest (3.18) | 3.17 | 3.16 | 3.15 | 3.14

XMLCONCAT

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

The XMLCONCAT() function is used to concatenate two XML fragments of arbitrary type

SELECT xmlconcat(
  xmlelement(NAME e1),
  xmlelement(NAME e2)
)
create.select(xmlconcat(
         xmlelement("e1"), 
         xmlelement("e2")))
      .fetch();

The result would look like this:

+------------+
| xmlconcat  |
+------------+
| <e1/><e2/> | 
+------------+

Dialect support

This example using jOOQ:

xmlconcat(xmlelement("e1"), xmlelement("e2"))

Translates to the following dialect specific expressions:

-- DB2, ORACLE, POSTGRES, TERADATA
xmlconcat(
  xmlelement(NAME e1),
  xmlelement(NAME e2)
)

-- SQLSERVER
(
  SELECT
    (
      SELECT
        1 tag,
        NULL parent,
        NULL [e1!1]
      FOR XML EXPLICIT, TYPE
    ),
    (
      SELECT
        1 tag,
        NULL parent,
        NULL [e2!1]
      FOR XML EXPLICIT, TYPE
    )
  FOR XML PATH (''), TYPE
)

-- ACCESS, ASE, AURORA_MYSQL, AURORA_POSTGRES, BIGQUERY, COCKROACHDB, DERBY, DUCKDB, EXASOL, FIREBIRD, H2, HANA, HSQLDB, 
-- INFORMIX, MARIADB, MEMSQL, MYSQL, REDSHIFT, SNOWFLAKE, SQLDATAWAREHOUSE, SQLITE, SYBASE, TRINO, VERTICA, YUGABYTEDB
/* UNSUPPORTED */

(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo