XMLQUERY
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The XMLQUERY()
function allows for extracting content from an XML document using XQuery or XPath
SELECT xmlquery('/doc/x' PASSING xmlparse(DOCUMENT '<doc><x>content</x></doc>') RETURNING CONTENT ) FROM dual
create.select(xmlquery("/doc/x") .passing( XML.xml("<doc><x>content</x></doc>") )) .fetch();
The result would look like this:
+----------+ | xmlquery | +----------+ | content | +----------+
Dialect support
This example using jOOQ:
xmlquery("/doc/x").passing(xml("<doc><x>content</x></doc>"))
Translates to the following dialect specific expressions:
DB2, Teradata
xmlquery( '/doc/x' PASSING '<doc><x>content</x></doc>' )
Oracle
xmlquery( '/doc/x' PASSING '<doc><x>content</x></doc>' RETURNING CONTENT )
Postgres
(SELECT xmlagg(x) FROM UNNEST(xpath('/doc/x', CAST('<doc><x>content</x></doc>' AS xml))) t (x))
SQLServer
'<doc><x>content</x></doc>'.QUERY('/doc/x')
ASE, Access, Aurora MySQL, Aurora Postgres, BigQuery, ClickHouse, CockroachDB, Derby, DuckDB, Exasol, Firebird, H2, HSQLDB, Hana, Informix, MariaDB, MemSQL, MySQL, Redshift, SQLDataWarehouse, SQLite, Snowflake, Sybase, Trino, Vertica, YugabyteDB
/* UNSUPPORTED */
Generated with jOOQ 3.20. Translate your own SQL on our website
Feedback
Do you have any feedback about this page? We'd love to hear it!