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