try_sum聚合函數

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

返回值的總和計算一組,或NULL如果有溢出。

語法

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

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

參數

  • expr:一個表達式,計算一個數值或間隔。

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

返回

如果expr是一個整數類型,一個長整型數字。

如果expr小數(p,s)結果是小數(p+分鍾(10,31便士),s)

如果expr結果是一個區間類型匹配expr

否則,雙。

如果截然不同的總結了唯一指定值。

如果結果溢出的結果類型磚SQL返回NULL。返回一個錯誤,而不是使用總和

例子

>選擇try_sum(上校)(5),(10),(15)作為選項卡(上校);30.>選擇try_sum(上校)過濾器(在哪裏上校<15)(5),(10),(15)作為選項卡(上校);15>選擇try_sum(截然不同的上校)(5),(10),(10),(15)作為選項卡(上校);30.>選擇try_sum(上校)(),(10),(15)作為選項卡(上校);25>選擇try_sum(上校)(),()作為選項卡(上校);——try_sum溢出一個長整型數字>選擇try_sum(c1)(5E18::長整型數字),(5E18::長整型數字)作為選項卡(c1);——在ANSI模式和返回一個錯誤如果溢出BIGINT>選擇總和(c1)(5E18::長整型數字),(5E18::長整型數字)作為選項卡(c1);錯誤——try_sum溢出一個區間>選擇try_sum(c1)(時間間隔“100000000”),(時間間隔“100000000”)作為選項卡(c1);——在間隔溢出和返回一個錯誤>選擇總和(c1)(時間間隔“100000000”),(時間間隔“100000000”)作為選項卡(c1);錯誤:ARITHMETIC_OVERFLOW