XMLCONCAT
XMLCONCAT 関数は、可変数の XML 入力引数を連結したものを含むシーケンスを戻します。
- XML-expression
- XML 値を戻す式。
この関数の結果は、NULL 以外の入力 XML 値の連結を含む XML シーケンスです。入力の中の NULL 値は無視されます。
この関数の結果は XML です。結果は NULL になる可能性があります。 すべての入力値の結果が NULL の場合、結果は NULL 値となります。
例
注: XMLCONCAT は、出力の中にブランク・スペースまたは改行文字を挿入しません。読みやすくするために、すべての出力例はフォーマット設定されています。
- 従業員ごとに「first」と「last」のエレメント名を使用して、ファーストネームとラストネームのエレメントを連結します。
照会の結果は、次の結果のようになります。SELECT XMLSERIALIZE( XMLCONCAT( XMLELEMENT(NAME "first", e.firstnme), XMLELEMENT(NAME "last", e.lastname) ) AS VARCHAR(100) ) AS "result" FROM EMPLOYEE E WHERE e.lastname = 'SMITH'
result ---------------------------------------- <first>DANIEL</first><last>SMITH</last> <first>PHILIP</first><last>SMITH</last>
- ファーストネームによってソートされた従業員のリストが含まれる、部門 A00 と B01 の部門エレメントを構成します。この部門エレメントの直前に、紹介コメントを含めます。
SELECT XMLCONCAT( XMLCOMMENT ( 'Confirm these employees are on track for their product schedule'), XMLELEMENT( NAME "Department", XMLATTRIBUTES( E.WORKDEPT AS "name"), XMLAGG( XMLELEMENT(NAME "emp", E.FIRSTNME) ORDER BY E.FIRSTNME) )) FROM EMPLOYEE E WHERE E.WORKDEPT IN ('A00', 'B01') GROUP BY E.WORKDEPT
この照会は下記の結果を生成します。
<!--Confirm these employees are on track for their product schedule--> <Department name="A00"> <emp>CHRISTINE</emp> <emp>SEAN</emp> <emp>VINCENZO</emp> </Department> <!--Confirm these employees are on track for their product schedule--> <Department name="B01"> <emp>MICHAEL</emp> </Department>