カテゴリ:

半構造化データ関数 (抽出)

XMLGET

タグの名前とそのインスタンス番号(0からカウント)によって、外側の XML 要素オブジェクトのコンテンツから XML 要素オブジェクト(単に「タグ」と呼ばれることが多い)を抽出します。

  • XMLGET の引数が NULLの場合、結果は NULLになります。

  • タグインスタンスが見つからない場合、結果は同様に NULLになります。

構文

XMLGET( <type> , <tag_name> , [ <instance_num> ] )

使用上の注意

  • インスタンス数 は省略できます。この場合、デフォルト値0が使用されます。

  • XMLGET の結果はタグのコンテンツではなく、タグ自体(オブジェクト)です。

    • 属性値を抽出するには、 GET(tag, '@attrname') を使用します。

    • コンテンツを抽出するには、 GET(tag, '$') を使用します。

    • タグ名を抽出するには、 GET(tag, '@') を使用します。

  • コンテンツ内の内部タグの位置は、 GET(tag, 'inner-tag-name') を使用して取得できます。コンテンツに複数の要素が含まれている場合、配列として表されます。

SELECT GET(XMLGET(xml, 'dt', 2), '$') as "Term",
       GET(XMLGET(xml, 'dd', 2), '$') as "Definition"
FROM dictionary;