分享方式:


彙總函式 - avg

適用於:SQL Server

傳回數位序列的平均值。

語法

  
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 範例。

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

您可以重寫 min 函式 (XQuery) 提供的查詢,以使用 avg() 函式。

實作限制

以下是限制:

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

  • 不支援 xs:duration 類型的 avg() 函式。

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

另請參閱

針對 xml 資料類型的 XQuery 函式