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 --释放游标
复制代码

 

posted @   Mr_Xul  阅读(304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示