sql查询语句问题,求助
来源:百度知道 编辑:UC知道 时间:2024/06/27 15:30:19
然后我查这个列的时候 提示我平均值运算不能以 char数据类型进行运算
我想知道 char varchar integer samallint
什么样情况用哪种啊 最好能举举例子 拜托了 大大们
char varchar都是定义字符类型,后者的最大长度比前者大,同时相同定义下他们占的空间不一样.如char(4)和varchar(4),char(4)只要不输入大于4个字节的字符他都默认这个字符占了4个字节的空间,输入t和tt他都认为是占了4个字节,而varchar(4)确是灵活的,你只要不输入大于4个字节的他都会根据实际情况来判断,输入t和tt,他们分别占1字节和2字节.
integer samallint 都是定义整型数字类型的,前者的可取最大值大于后者.
你上面之所以会出错,那是因为AVG()里面必须是数字类型的数据
看了希望你有所了解!
数值的时候最好用int或decimal等类型的,如姓名等内容最好用varchar类型的,你当前的这个问题,可以这样来实现
select avg(cast(字段 as int)) from 表
以上,希望对你有所帮助!
char varchar integer samallint 短数值型,这是最基础知道,字段类型网上一大堆
求平均值是数值运算,当然得采用integer类型,char是字符型
求平均值 必须是数值吧,不是数是不能求平均值的
char 字符型 ,所以不能求平均值
为了能求平均值,你应该使用int(整数) float(有小数点的数)money (钱)等类型来定义你的字段
你用的是哪种数据库呢?smallint 如果我没有猜错的话,你用的是mysql吧,
char 一般都是不可变长度。
varchar 是可变长度的。
integer 整形
smallint 一般比integer数值范围较小。
简单说这些吧,因为不同的数据库都不太一样,你可以针对特定数据库搜索一下。
char和varchar类型,是针对字符进行操作的。
可以转化成数值型,前提条件是,存储的字符为数值,否则没有办法转换的。常用varchar类型。
integer和smallint针对