可用版本:Dev (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14

XMLQUERY

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

XMLQUERY() 函数允许使用 XQuery 或 XPath 从 XML 文档中提取内容

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();

结果如下

+----------+
| xmlquery |
+----------+
| content  |
+----------+

方言支持

此示例使用 jOOQ

xmlquery("/doc/x").passing(xml("<doc><x>content</x></doc>"))

翻译成以下特定方言的表达式

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, Databricks, Derby, DuckDB, Exasol, Firebird, H2, HSQLDB, Hana, Informix, MariaDB, MemSQL, MySQL, Redshift, SQLDataWarehouse, SQLite, Snowflake, Sybase, Trino, Vertica, YugabyteDB

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

引用此页

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo