SQL Server 存储过程 遍历数据 修改数据
这里只是举例说明,请以实际情况为准
这里是想修改报警表中的报警时间字段,判断长度修改时间格式
DECLARE @Id INT --数据ID DECLARE @AlarmTime VARCHAR(10) --时间字符串 DECLARE @AlarmTimeLength INT --时间字符串长度 DECLARE yin_cur CURSOR LOCAL SCROLL FOR --遍历数据 SELECT AlarmTime, DATALENGTH( AlarmTime ) AS 'AlarmTimeLength' FROM [TableName] --数据表 OPEN yin_cur --打开游标 FETCH NEXT FROM yin_cur INTO @Id, @AlarmTime, @AlarmTimeLength WHILE @@FETCH_STATUS = 0 BEGIN IF(@AlarmTimeLength = 6) BEGIN SET @AlarmTime = @AlarmTime + '01' SET @AlarmTimeLength = @AlarmTimeLength + 2 END IF(@AlarmTimeLength = 8) BEGIN SET @AlarmTime = CONVERT ( VARCHAR ( 10 ), ( CAST ( CONVERT ( VARCHAR ( 10 ), @AlarmTime, 120 ) AS datetime ) ), 120 ) --时间格式化 UPDATE [TableName] SET AlarmTime = @AlarmTime WHERE Id = @Id; --PRINT @AlarmTime END FETCH NEXT FROM yin_cur INTO @Id, @AlarmTime, @AlarmTimeLength END CLOSE yin_cur --关闭游标 DEALLOCATE yin_cur --释放游标

浙公网安备 33010602011771号