Name
XMLCONCAT — Creates a forest of elements by concatenating a list of XML values
Synopsis
XMLCONCAT
(
|
value_expr1 varchar , |
| value_expr2 varchar , | |
| ... , | |
value_exprN
varchar
); |
Description
XMLCONCAT
accepts a list of XML value expressions as its arguments, and produces a forest of elements by
concatenating the XML values that are returned from the same row to make one value.
XMLCONCAT
works like XMLFOREST
,
except that XMLCONCAT
parameters is a list of XML elements.
Null expressions are dropped from the result. If all the value expressions are null, then the function returns NULL.
Parameters
value_expr1
a vector returned by
XMLELEMENT
,
XMLFOREST
,
or XMLCONCAT
functions, or an entity object returned by
corresponding functions (e.g. xtree_doc
, xquery_eval
or path_eval
).
In the latter case the entity object must not be an attribute.
Errors
Table 24.126. Errors signalled by
XMLCONCAT
| SQLState | Error Code | Error Text | Description |
|---|---|---|---|
| 22003 | SR355 | Too few arguments for XMLCONCAT | There must be at least one argument |
| 22003 | SR359 | Invalid argument type NVARCHAR (225) for arg N to XMLCONCAT | The entity object returned by
xpath_eval
must not be an attribute
|
| 22003 | SR360 | XMLCONCAT doesn't concatenate attributes | The entity object returned by
xquery_eval
must not be an attribute
|
Examples
Example 24.499. XMLCONCAT() with two parameters
The following example produces an XML elements for the 'FName', 'LName', 'country' and 'nationality', concatenates the result, and creates a one-column result set:
select XMLCONCAT (
XMLELEMENT ('FName', "FirstName"),
XMLELEMENT ('LName', "LastName"),
xquery_eval('//country', xtree_doc('<a><country>USA</country></a>')),
xpath_eval('//nationality', xtree_doc('<a><nationality>RUSSIAN</nationality></a>')))
from "Demo"."demo"."Employees";
callret
VARCHAR
_______________________________________________________________________________
<FName>Nancy</FName><LName>Davolio</LName><country>USA</country><nationality>RUSSIAN</nationality>
<FName>Andrew</FName><LName>Fuller</LName><country>USA</country><nationality>RUSSIAN</nationality>
. . .
<FName>Anne</FName><LName>Dodsworth</LName><country>USA</country><nationality>RUSSIAN</nationality>
9 Rows.