--产生随机数 75-85
ROUND(((85 - 75 -1) * RAND() + 75), 0)
DECLARE @id numeric
DECLARE @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=0
SET @total_energyT=0
SET @total_waterT=0
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT id,total_electric,total_energy,total_water FROM tablename WHERE id>=20320 AND id<=20331) --查出需要的集合放到游标中
OPEN My_Cursor
FETCH NEXT FROM My_Cursor INTO @id,@total_electric,@total_energy,@total_water
WHILE @@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)