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.