總和
聚合函數
適用於:磚的SQL磚運行時
返回值的總和計算一組。
返回
如果expr
是一個整數類型,一個長整型數字。如果expr
是小數(p,s)
結果是小數(p+分鍾(10,31便士),s)
。如果expr
結果是一個區間類型匹配expr
。
否則,雙。
如果截然不同的
總結了唯一指定值。
如果結果溢出類型磚SQL提出了一個結果ARITHMETIC_OVERFLOW錯誤。返回一個NULL代替使用try_sum
警告
在磚運行時,如果spark.sql.ansi.enabled是假
溢出的BIGINT不會導致一個錯誤,而是“包裝”的結果。
例子
>選擇總和(上校)從值(5),(10),(15)作為選項卡(上校);30.>選擇總和(上校)過濾器(在哪裏上校<15)從值(5),(10),(15)作為選項卡(上校);15>選擇總和(截然不同的上校)從值(5),(10),(10),(15)作為選項卡(上校);30.>選擇總和(上校)從值(零),(10),(15)作為選項卡(上校);25>選擇總和(上校)從值(零),(零)作為選項卡(上校);零——try_sum溢出一個長整型數字>選擇try_sum(c1)從值(5E18::長整型數字),(5E18::長整型數字)作為選項卡(c1);零——在ANSI模式和返回一個錯誤如果溢出BIGINT>選擇總和(c1)從值(5E18::長整型數字),(5E18::長整型數字)作為選項卡(c1);錯誤:ARITHMETIC_OVERFLOW——try_sum溢出一個區間>選擇try_sum(c1)從值(時間間隔“100000000”年),(時間間隔“100000000”年)作為選項卡(c1);零——在間隔溢出和返回一個錯誤>選擇總和(c1)從值(時間間隔“100000000”年),(時間間隔“100000000”年)作為選項卡(c1);錯誤:ARITHMETIC_OVERFLOW