sql >> データベース >  >> RDS >> Oracle

OracleXMLTYPEノードの名前を変更する方法

    1つのオプションは、XMLTRANSFORM を使用することです。 ノードの名前を変更します。たとえば、 XSLTを使用してノードの名前を変更する

    with
    xmldata as (select xmltype('<root>
      <fields>
        <a>foo</a>
        <b>bar</b>
      </fields>
    </root>') val from dual),
    stylesheet as (select '<?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <!-- Identity transformation -->
      <xsl:template match="node()|@*">
        <xsl:copy>
          <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
      </xsl:template>
      <!-- Identity transformation overridden for element b -->
      <xsl:template match="b">
        <xsl:element name="c">
          <xsl:apply-templates select="node()|@*"/>
        </xsl:element>
      </xsl:template>
    </xsl:stylesheet>' val from dual)
    select xmltransform(x.val, s.val) from xmldata x, stylesheet s;
    

    出力:

    XMLTRANSFORM(X.VAL,S.VAL)
    --------------------------------------------------------------------------------
    <root>
      <fields>
        <a>foo</a>
        <c>bar</c>
      </fields>
    </root>
    


    1. なぜAndroidSQLiteでこのテーブルを作成できないのですか?

    2. PostgreSQL/NodeJSを使用して結果の配列としてJOINテーブルを取得します

    3. Oracleで文字列内の単語数をカウントするにはどうすればよいですか?

    4. mysqlテーブルから前日のレコードを取得するにはどうすればよいですか?