sql表已有数据修改字段类型或求平均值转换类型

本人sql表里有Sname、xingbie、nianji、zhuanye是varchar类型的,km1、km2、km3、km4、km5、zcj之前也是varchar类型的,但是我今天想计算平均值,就直接把km1-zcj在设计里修改了字段为float,平均值是算出来了,但是当我添加一行时却报错varchar转换成float时错误,请问该怎么解决?是备份表删除已有数据再修改再添加回去,还是求平均值写语句时将varchar转换类型,还是说这个错误该怎么解决!求大神解答!

/*判断该表是否已经存在*/
if exists ( select * from sys.objects where name ='表名')
print '表存在'
else
print '表不存在'

if exists(select * from syscolumns where name='字段名' and id=object_id('表名'))
print '字段名存在'
else
print '字段名不存在'
--修改表字段类型
ALTER TABLE 表名 ALTER COLUMN 字段名 数据类型
ALTER TABLE User ALTER COLUMN name varchar(150)

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[存储过程名] --删除存储过程
温馨提示:答案为网友推荐,仅供参考
相似回答