XMLEXTRACT (
[ filterExpr, ]
query,
nsmap
)
構文要素
- filterExpr
- 問合わせ式のストリーム評価を可能にするオプションのフィルタ式。
- 大きいXML値に対して問合わせを評価する場合、filterExprは必須です。
- filterExprはVARCHAR(n)でなければなりません。サポートされる最大サイズ(n)は512です。
- query
- XPathまたはXQuery問合わせ文字列。
- queryはVARCHAR(n)でなければなりません。サポートされる最大サイズ(n)は8192です。
- nsmap
- 名前空間宣言。
- nsmapはVARCHAR(n)でなければなりません。サポートされる最大サイズ(n)は1024です。
- 名前空間は2つの方法で宣言できます。
- 名前空間をquery文字列で宣言します。 例:
SELECT CREATEXML('<a xmlns="http://td.com"><b>c</b><b>d</b></a>').XMLEXTRACT('declare namespace td = "http://td.com"; /td:a/td:b', NULL);
名前空間はクエリーの先頭で宣言されます: declare namespace td = "http://td.com"
- nsmapパラメータでprefix=namespace_uri宣言の文字列として名前空間を指定します。スペースを使用してそれぞれの名前空間宣言を区切ります。 例えば、
SELECT CREATEXML('<a xmlns="http://td.com"><b>c</b><b>d</b></a>').XMLEXTRACT('/td:a/td:b', 'td=http://td.com');