有的小伙伴在学习数据库的时候,创建表结构的时候不小心把某字段设置成了varchar但是在统计求和的时候就傻眼了,接下来跟着小编学习一下,不用改该列数据类型也能求和的方法吧!
有的小伙伴在学习数据库的时候,创建表结构的时候不小心把某字段设置成了varchar但是在统计求和的时候就傻眼了,接下来跟着小编学习一下,不用改该列数据类型也能求和的方法吧!
1、打开 数据库连接客户端Navicat Premium ,创建一个新的表结构,这里age这列 故意 设置为 varchar。
2、创建表成功之后,为刚刚的表创建一些测试的数据,这里如下图:
3、在数据量少的时候可以使用sum()函数直接求和,因为MySQL中它可以自动识别是字符串类型还是数字类型。
4、以上适用于整数,或者是数据量小,要是数据量太大,并且精度较高不适用,那么就可以考虑使用MySQL 的CAST()和CONVERT()函数。如下图:
5、在接着看看CONVERT()函数,这个函数主要是服务于要求精度的需求,这里改改原始的数据,把age列改为带小数的用于测试一下这个函数。
6、以上两个函数支持转化为的类型有以下几种,如下图所示:
到此,varchar类型求和也给出了一个解决方法了!