本文共 1196 字,大约阅读时间需要 3 分钟。
--产生随机数 75-85ROUND(((85 - 75 -1) * RAND() + 75), 0)
--累加更新字段DECLARE @id numericDECLARE @total_electric varchar(20)DECLARE @total_energy varchar(20)DECLARE @total_water varchar(20)DECLARE @total_electricT varchar(20) DECLARE @total_energyT varchar(20)DECLARE @total_waterT varchar(20)SET @total_electricT=0SET @total_energyT=0SET @total_waterT=0DECLARE My_Cursor CURSOR --定义游标FOR (SELECT id,total_electric,total_energy,total_water FROM tablename WHERE id>=20320 AND id<=20331) --查出需要的集合放到游标中 OPEN My_CursorFETCH NEXT FROM My_Cursor INTO @id,@total_electric,@total_energy,@total_waterWHILE @@FETCH_STATUS = 0 BEGIN SET @total_electricT=CONVERT(FLOAT,@total_electricT)+CONVERT(FLOAT,@total_electric)SET @total_energyT=CONVERT(FLOAT,@total_energyT)+CONVERT(FLOAT,@total_energy)SET @total_waterT=CONVERT(FLOAT,@total_waterT)+CONVERT(FLOAT,@total_water)UPDATE tablename SET total_electric=@total_electricT,total_energy=@total_energyT,total_water=@total_waterT WHERE id=@id; FETCH NEXT FROM My_Cursor INTO @id,@total_electric,@total_energy,@total_water; --读取下一行数据 END CLOSE My_Cursor; --关闭游标 DEALLOCATE My_Cursor; --释放游标 GO
--float 经常会长度不够变成科学计数法,并且小数位数不可控 用cast('123.22' as DECIMAL)
转载地址:http://wponl.baihongyu.com/