次の方法で共有


avg 関数 (XQuery)

一連の数値の平均値を返します。

構文

fn:avg($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?

引数

  • $arg
    平均値を計算するアトミック値のシーケンス。

説明

avg() に渡されるアトミック値のすべての型は、3 つの組み込み数値基本データ型のいずれかのサブタイプ、または xdt:untypedAtomic にする必要があります。 これらの型を混在させることはできません。 xdt:untypedAtomic 型の値は、xs:double として扱われます。 xdt:untypedAtomic の場合、avg() の結果は xs:double など、渡された型の基本データ型を受け取ります。

入力が静的に空の場合、空になることが暗黙に示され、静的エラーが発生します。

avg() 関数では、数値の平均値が計算されて、返されます。 次に例を示します。

sum($arg**) div count($arg)**

$arg が空のシーケンスの場合、空のシーケンスが返されます。

xdt:untypedAtomic 値が xs:double にキャストされないと、入力シーケンス $arg では値が無視されます。

他のすべての場合は、関数から静的エラーが返されます。

使用例

このトピックでは、AdventureWorks データベースのさまざまな xml 型の列に格納されている XML インスタンスに対して実行する XQuery の例について説明します。

A. avg() XQuery 関数を使用した、製造プロセス中のワーク センターの場所全体での平均労働時間よりも長いワーク センターの検索

min 関数 (XQuery)」で提供されているクエリを、avg() 関数を使用するように書き直すことができます。

実装の制限事項

次に、制限事項を示します。

  • avg() 関数では、すべての整数が xs:decimal にマップされます。

  • xs:duration 型の値では、avg() 関数はサポートされません。

  • 基本データ型の境界をまたがってデータ型が混在するシーケンスはサポートされません。

関連項目

参照

xml データ型に対する XQuery 関数