在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?相关的知识,希望对你有一定的参考价值。
在sql数据库中,我用聚合函数sum,为什么显示操作数据类型varchar对于sum运算符无效啊?
varchar数据类型不支持做聚合运算,你可以试试看修改数据表结构,把数据类型从varchar改为decimal(18,2)、int、float等可计算的数据类型,最好给个默认值0,如果保存的时候还提示报错,那一般是因为该字段下有些记录为空或者Null了,建议先将该字段所有空值改成0再修改字段的数据类型。 参考技术A sum是对运算类型的使用,Varchar是字符串,所以无效。对varchar可以使用select 字段+';' from 表 for xml path(''),刚学来的。本回答被提问者和网友采纳SQL——连接查询聚合函数开窗函数
连接查询
- inner join,用的最多,表示多张表一一对应
聚合函数
- 操作行数据,进行合并
- sum、avg、count、max、min
开窗函数
- 将合并的数据分布到原表的每一行,相当于多出来了一列,这一列可能是sum求和的数、或者avg平均数的值
- 也可以与排名函数一起使用
分组功能
- 对某一列进行分组,也就是对数据进行压缩
- 分组关键字经常与聚合函数搭配使用,计算每一组的合并后的数值
- group by 之后如果是多个,标识的多个列的值一样的分成一个组
联合查询
- 将多个查询结果合并成一个结果集,但是要求列数,且对应的列的值类型要一致
- union 合并且排序 并集
- union all 不合并,全部显示,不排序
- except 左查询中返回右查询没有找到的所有非重复值
- intersect 两个结果集的交集(即两个查询都返回的所有非重复值)
子查询
- 将一条查询语句的查询结果作为另一条查询语句的判断条件,这样的形式称为子查询,子查询可以是多个
以上是关于在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?的主要内容,如果未能解决你的问题,请参考以下文章