TiDB的sum()函数反馈类型

麻烦各位老师一下,想要确认个事情。
源端TiDB有字段是varchar类型的,如字段名为a(数据为10, 20, 30这种)。然后通过select sum(a)的方式将数据取出,在代码中做对应处理后,在写入另一个表中。这时候在新表中的数据变为(10.0, 20.0, 30.0)。就是确认一点,sum()在TiDB v4.0.10版本的返回值默认都是double类型是么?
新旧表都是varchar类型。

SUM 函数是计算累加值阿,不转换成 数值类型咋累加计算呢~~

所以,在用这个函数的时候,是不是要考虑到这一点?

你理解的应该没错的! :+1:

2 个赞

我在TiDB v3.0.20测试没有你说的这种情况,都是只有整数。

1 个赞

5.7.25-TiDB-v4.0.12中也没有重现所述问题。

是查询返回的数值是double,还是插入表后表中的数值是double类型?
能提供插入表的字段类型么?也有可能是插入表字段类型导致的

官网有如下解释,建议cast或convert显示转换比较好

:+1:专业!