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
