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


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

The XMLSERIALIZE() function allows for serializing XML content into a string type

SELECT xmlserialize(CONTENT xmlelement(NAME 'a') AS VARCHAR)
FROM dual
create.select(xmlserializeContent(xmlelement("a"), VARCHAR))

The result would look like this:

| xmlserialize |
| <a/>         |

Dialect support

This example using jOOQ:

xmlserializeContent(xmlelement("a"), VARCHAR(1000))

Translates to the following dialect specific expressions:

DB2, Postgres, Teradata

xmlserialize(CONTENT xmlelement(NAME a) AS varchar(1000))


xmlserialize(CONTENT xmlelement(NAME a) AS varchar2(1000))

ASE, Access, Aurora MySQL, Aurora Postgres, BigQuery, ClickHouse, CockroachDB, Derby, DuckDB, Exasol, Firebird, H2, HSQLDB, Hana, Informix, MariaDB, MemSQL, MySQL, Redshift, SQLDataWarehouse, SQLServer, SQLite, Snowflake, Sybase, Trino, Vertica, YugabyteDB


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


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

The jOOQ Logo