複数の列から返された値にタグを付ける関数です。
Synopsis
XMLFOREST(expression [AS tag][,expression [AS tag]])
引数
expression 式、または (通常は) 式のコンマ区切りのリスト。通常、これはタグ付けの対象となるデータ値を含む列の名前です。リスト内のそれぞれの式は、独自のタグで囲みます。
AS tag オプション — 前にある expression のタグの値。tag に引用符がない場合、tag の先頭は文字にする必要があります。空白および引用符は tag の中で使用できません。二重引用符でタグを囲むと、これらの制限が取り除かれます。tag を省略すると、タグの値は expression 列の名前または空タグになります。
概要
XMLFOREST 関数は、独自の XML (または HTML) タグを付けた expression のそれぞれの値を返します。
XMLFOREST は、テーブルまたはビューを参照する SELECT クエリまたは SELECT サブクエリで使用できます。XMLFOREST は、一般の列の値とともに SELECT リストで使用できます。
指定された expression の値は、次の形式のように、開始タグと終了タグで囲んで返します。
<tag>value</tag>
一般的に expression は、列名、または 1 つ以上の列名を含む式です。XMLFOREST は、それぞれの expression を次のようにタグ付けします。
XMLFOREST は、コンマ区切りリストの各アイテムに個別のタグを割り当てます。XMLELEMENT は、単一のタグ内にコンマ区切りリストのすべてのアイテムを連結します。
XMLFOREST 関数は入れ子にして使用できます。入れ子にした XMLFOREST 関数および XMLELEMENT 関数は任意の組み合わせが可能です。XMLFOREST 関数は、XMLCONCAT を使用して連結できます。
NULL 値
XMLFOREST 関数は、実際のデータの値がある場合のみタグを返します。expression の値が NULL の場合、タグを返しません。空文字列 ('') は、データ値とみなされます。タグ付けする値が空文字列 ('') の場合、XMLFOREST は以下を返します。
<tag></tag>
XMLFOREST は、NULL の処理方法において、XMLELEMENT と異なります。XMLELEMENT は、フィールドの値が NULL の場合でも、常にタグの値を返します。
句読点文字値
データ値に、XML/HTML でタグまたはその他のコーディングとして解釈される句読点文字が含まれる場合、XMLFORESTXMLELEMENT はこの文字を対応するエンコード形式に変換します。
アンド記号 (&) は &amp; となります。
アポストロフィ (') は &apos; となります。
引用符 (") は &quot; となります。
左山括弧 (<) は &lt; となります。
右山括弧 (>) は &gt; となります。
入力文字列でアポストロフィを表すには、'can''t' のように、2 つのアポストロフィを指定します。列のデータには、アポストロフィを 2 つ付ける必要はありません。
次のクエリは、通常のデータおよび XML タグが付けられたデータとして、Sample.Person の Name 列の値を返します。
SELECT Name,XMLFOREST(Name) AS ExportName
     FROM Sample.Person
返されるデータ行は、次のようになります。ここで、既定のタグは列名になります。
Name                    ExportName
Emerson,Molly N.   <NAME>Emerson,Molly N.</NAME>
次のクエリは複数の列を指定します。
SELECT XMLFOREST(Name,
                 Home_State AS POAbbrv,
                 AVG(Age)) AS ExportData
FROM Sample.Person
返されるデータ行は、次のようになります。最初のタグは列名から生成され、2 番目のタグは AS 節で指定され、3 番目のタグは値が列の値ではなく集約のため空白です。
ExportData
<NAME>Emerson,Molly N.</NAME><POAbbrv>CA</POAbbrv><>32</>
関連項目
XMLAGG 関数
XMLELEMENT 関数
XMLCONCAT 関数
SELECT