xmlconcat()
是一个用于将 XML 片段连接成单个 XML 内容片段的系统函数。
xmlconcat()
添加于 PostgreSQL 8.3。
用法
xmlconcat (xml
[, ...] ) →xml
NULL
值将被忽略;如果存在,XML 声明将合并成单个声明(如果可行)(有关详细信息,请参阅文档);任何编码声明都将被移除。
要连接多个行,请使用 xmlagg()
。
更改历史记录
- PostgreSQL 8.3
- 添加(提交 8c1de5fb)
示例
xmlconcat()
的基本用法示例
postgres=# SELECT xmlconcat('<bar>foo</bar>','<baz>boo</baz>', '<moo/>'); xmlconcat ------------------------------------ <bar>foo</bar><baz>boo</baz><moo/> (1 row)
NULL
元素和空字符串将被忽略
postgres=# SELECT xmlconcat('<bar>foo</bar>',NULL,'','<moo/>'); xmlconcat ---------------------- <bar>foo</bar><moo/> (1 row)
除非所有输入元素都是 NULL
postgres=# SELECT xmlconcat(NULL,NULL) IS NULL; ?column? ---------- t (1 row)
纯文本字符串将简单地连接起来
postgres=# SELECT xmlconcat('foo','bar'); xmlconcat ----------- foobar (1 row)
否则每个输入元素必须是格式良好的 XML
postgres=# SELECT xmlconcat('<foo>bar', '</foo>'); ERROR: invalid XML content LINE 1: SELECT xmlconcat('<foo>bar', '</foo>'); ^ DETAIL: line 1: Premature end of data in tag foo line 1 <foo>bar
编码声明将被删除
postgres=# SELECT xmlconcat('<?xml version="1.1" encoding="iso-8859-1"?>', '<?xml version="1.1"?><foo>Äthiopien</foo>'); xmlconcat ------------------------------------------- <?xml version="1.1"?><foo>Äthiopien</foo> (1 row)
参考
- PostgreSQL 文档: Xmlconcat