try_avg聚合函數

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時11.0及以上

返回均值計算的一組值。如果有一個溢出,返回NULL。

語法

try_avg((所有|截然不同的]expr)(過濾器(在哪裏氣孔導度)]

這個函數也可以作為一個調用窗口函數使用條款。

參數

  • expr:一個表達式返回一個數字或一個區間值。

  • 氣孔導度:一個可選的布爾表達式過濾行用於聚合。

返回

計算結果類型的參數:

  • 小數(p,s):結果類型是一個小數(p + 4, s + 4)”。如果達到最大精度小數的增加規模將是有限的,以避免損失的有效數字。

  • year-month間隔:是一個結果時間間隔一年

  • 白天間隔:是一個結果時間間隔一年第二個

  • 在所有其他情況下,結果是一個雙。

null集團內部被忽略。如果一組是空的或隻包含NULL,結果是零。

如果截然不同的指定,平均計算重複後刪除。

提高一個溢出的錯誤,而不是NULL,以防使用avg

例子

>選擇try_avg(上校)(1),(2),(3)作為選項卡(上校);20>選擇try_avg(截然不同的上校)(1),(1),(2)作為選項卡(上校);15>選擇try_avg(上校)(1),(2),()作為選項卡(上校);15>選擇try_avg(上校)(時間間隔' 1 '一年),(時間間隔' 2 '一年)作為選項卡(上校);1- - - - - -6——溢出導致零try_avg ()>選擇try_avg(上校)(5e37::小數(38,0)),(5e37::小數(38,0))作為選項卡(上校);——溢出導致ANSI誤差avg()模式。>選擇avg(上校)(5e37::小數(38,0)),(5e37::小數(38,0))作為選項卡(上校);錯誤:CANNOT_CHANGE_DECIMAL_PRECISION