avg 函數 (XQuery)

傳回數字序列的平均值。

語法

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

引數

  • $arg
    不可部份完成值的序列,會計算其平均值。

備註

傳遞到 avg() 的所有不可部份完成值類型,必須是三個內建數字基底類型之一的子類型,或 xdt:untypedAtomic。它們不能是混合的類型。xdt:untypedAtomic 類型的值會被視為 xs:double。avg() 的結果會收到傳入類型的基底類型,例如 xdt:untypedAtomic 的狀況會收到 xs:double。

若輸入在靜態上是空的,則隱含著空值且會引發靜態錯誤。

avg() 函數會傳回所計算數字的平均值。例如:

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

若 $arg 是空的序列,則會傳回這個空的序列。

若 xdt:untypedAtomic 值無法轉換為 xs:double,則會忽略輸入序列 $arg 中的這個值。

在其他所有的情況中,此函數會傳回靜態錯誤。

範例

本主題針對儲存在 AdventureWorks 資料庫中之各種 xml 類型資料行的 XML 執行個體,提供 XQuery 範例。如需這些資料行中每個資料行的概觀,請參閱<在 AdventureWorks 資料庫中的 xml 資料類型表示法>。

A. 使用 avg() XQuery 函數,尋找在製造過程中,工時大於所有工作中心位置平均工時的工作中心位置。

您可以重新撰寫<min 函數 (XQuery)>中所提供的查詢,以使用 avg() 函數。

實作限制

限制如下:

  • avg() 函數會將所有整數對應到 xs:decimal。

  • 不支援值為 xs:duration 類型的 avg() 函數。

  • 不支援在基底類型界限之間混合類型的序列。