ADO.NET Provider for REST

Build 24.0.9062

XML 関数

本製品 では、XML をカラム値として返すことができます。本製品 を使って、これらのカラム値においてSQL 関数を使用できます。次のセクションでは例を示します。参考のために文字列関数 を参照してください。 このセクションの例では、次の配列を使用します(XML オブジェクトと配列のパーシングについての詳細は階層データの解析 を参照してください)。

 
<grades>
  <student>
    <grade>A</grade>
    <score>2</score>
  </student>
  <student>
    <grade>A</grade>
    <score>6</score>
  </student>
  <student>
    <grade>A</grade>
    <score>10</score>
  </student>
  <student>
    <grade>A</grade>
    <score>9</score>
  </student>
  <student>
    <grade>B</grade>
    <score>14</score>
  </student>
</grades>

XML_EXTRACT

XML_EXTRACT でXML オブジェクトから個別の値を抜き出すことができます。次のクエリは、関数に第二引数として渡されたXML パスに基づいて、以下に示す値を返します。
SELECT Name, XML_EXTRACT(grades,'[0].grade') AS Grade, XML_EXTRACT(grades,'[0].score') AS Score FROM Students;

カラム名サンプル値
GradeA
Score2

XML_COUNT

XML_COUNT 関数はXML オブジェクト内のXML 配列のエレメント数を返します。次のクエリは、関数に第二引数として渡されたXML パスにより指定されたエレメント数を返します。
SELECT Name, XML_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;

カラム名サンプル値
NumberOfGrades5

XML_SUM

XML_SUM 関数は、XML オブジェクト内のXML 配列の数値の合計を返します。次のクエリは、関数に第二引数として渡されたXML パスにより指定された合計値を返します。
SELECT Name, XML_SUM(score,'[x].score') AS TotalScore FROM Students;

カラム名サンプル値
TotalScore 41

XML_MIN

XML_MIN 関数は、XML オブジェクト内のXML 配列の最小値を返します。次のクエリは、関数に第二引数として渡されたXML パスにより指定された最小値を返します。
SELECT Name, XML_MIN(score,'[x].score') AS LowestScore FROM Students;

カラム名サンプル値
LowestScore2

XML_MAX

XML_MAX 関数は、XML オブジェクト内のXML 配列の最大値を返します。次のクエリは、関数に第二引数として渡されたXML パスにより指定された最大値を返します。
SELECT Name, XML_MAX(score,'[x].score') AS HighestScore FROM Students;

カラム名サンプル値
HighestScore14

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062