{"Entry":{"collection":"func","key":"xmltable","name":"XMLTABLE","aliases":[],"metadata":{"changed_in":["12"],"changes":[{"descriptions_changed":false,"doc_overhaul":false,"from":"9.6","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"added","to":"10"},{"descriptions_changed":false,"doc_overhaul":false,"from":"11","group_changed":null,"signatures":{"added":["xmltable( [XMLNAMESPACES(namespace uri AS namespace name[, ...]), ] row_expression PASSING [BY { REF | VALUE }] document_expression [BY { REF | VALUE }] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] )"],"removed":["xmltable( [XMLNAMESPACES(namespace uri AS namespace name[, ...]), ] row_expression PASSING [BY REF] document_expression [BY REF] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] )"]},"status":"changed","to":"12"},{"descriptions_changed":false,"doc_overhaul":true,"from":"12","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"changed","to":"13"}],"content_hash":"17a4bc7d4147592dd46c6382f5a8f2fbac3af1e6b045ab676fe543cc8f856934","first_version":"10","group":"xml","group_label":"Xml Functions","groups":["xml"],"imported_at":"2026-09-14T21:49:48.773799+08:00","last_version":"20","name":"XMLTABLE","name_key":"xmltable","position":15025,"present_in":["10","11","12","13","14","15","16","17","18","19","20"],"signature":"XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record","signature_count":1,"slug":"xmltable","source_rev":"2026-09-14T13:14:25.684213+00:00@99e6866c","summary":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions.","summary_zh":""}},"Definition":{"Collection":"func","Key":"xmltable","SourceDatabase":"center","Version":"18","SourceTable":"func","SourceKey":"xmltable","SourceRevision":"2026-09-14T13:14:25.684213+00:00@99e6866c","Facts":{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"","description_zh_html":"","doc":{"anchor":"FUNCTIONS-XML-PROCESSING-XMLTABLE","file":"functions-xml.html","slug":"18"},"group":"xml","group_label":"Xml Functions","lang":"en","layout":"table-new","pages":["functions-xml.html"],"prose_only":false,"signatures":[{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"","description_zh_html":"","examples":[],"html":"\u003ccode class=\"function\"\u003eXMLTABLE\u003c/code\u003e ( [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eXMLNAMESPACES\u003c/code\u003e ( \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_uri\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003eAS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_name\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ), \u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003erow_expression\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003ePASSING\u003c/code\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003edocument_expression\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003ccode class=\"literal\"\u003eCOLUMNS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e { \u003cem class=\"replaceable\"\u003e\u003ccode\u003etype\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003ePATH\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ecolumn_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edefault_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eNOT NULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e\u003c/span\u003e] | \u003ccode class=\"literal\"\u003eFOR ORDINALITY\u003c/code\u003e } [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ) → \u003ccode class=\"returnvalue\"\u003esetof record\u003c/code\u003e","returns":"setof record","text":"XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record","zh_from":""}],"zh_from":""},"ManualEvidence":{"doc":{"anchor":"FUNCTIONS-XML-PROCESSING-XMLTABLE","file":"functions-xml.html","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"func","Key":"xmltable","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"XMLTABLE","Summary":"xmltable表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的FROM子句中。","BodyHTML":"\u003ccode\u003exmltable\u003c/code\u003e表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的\u003ccode\u003eFROM\u003c/code\u003e子句中。\u003cpre\u003eXMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record\u003c/pre\u003e\u003ccode\u003exmltable\u003c/code\u003e表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的\u003ccode\u003eFROM\u003c/code\u003e子句中。","SourceRevision":"ca936764","ContentHash":"8a51512d26d4745c0114ddf4638c73732db42bbba8ac61391ef16a9e12e98505","Payload":{"description_zh":"xmltable表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的FROM子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的\u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e子句中。","signatures":[{"description_zh":"xmltable表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的FROM子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的\u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e子句中。","returns":"setof record","text":"XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record","zh_from":"doc"}],"zh_from":"doc"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":[{"Version":"18","Ordinal":0,"Hash":"d7c83cadeb74490dc7afbc1de8bcdd99ccfca0324f2a6f5944d4cefd4b8cb95a","Text":"XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record","Returns":"setof record","Payload":{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"","description_zh_html":"","examples":[],"html":"\u003ccode class=\"function\"\u003eXMLTABLE\u003c/code\u003e ( [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eXMLNAMESPACES\u003c/code\u003e ( \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_uri\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003eAS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_name\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ), \u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003erow_expression\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003ePASSING\u003c/code\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003edocument_expression\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003ccode class=\"literal\"\u003eCOLUMNS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e { \u003cem class=\"replaceable\"\u003e\u003ccode\u003etype\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003ePATH\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ecolumn_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edefault_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eNOT NULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e\u003c/span\u003e] | \u003ccode class=\"literal\"\u003eFOR ORDINALITY\u003c/code\u003e } [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ) → \u003ccode class=\"returnvalue\"\u003esetof record\u003c/code\u003e","returns":"setof record","text":"XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record","zh_from":""}}],"Spellings":null,"SQLState":null,"Evidence":null}
