更新数据库中所有日期字段,周日减一天
来源:互联网 发布:淘宝里面怎么举报店铺 编辑:程序博客网 时间:2024/06/09 14:08
-----------------------方法1
Declare @T Varchar(255),@C Varchar(255)
Declare Table_Cursor Cursor For
Select A.Name,B.Name From Sysobjects A,Syscolumns B Where A.Id=B.Id And A.Xtype='u' And (B.Xtype=58 Or B.Xtype=61)
Open Table_Cursor
Fetch Next From Table_Cursor Into @T,@C
While(@@Fetch_Status=0)
Begin
Exec('SET DATEFIRST 1 update ['+@T+'] Set ['+@C+']=['+@C+']-1 where datepart(dw,['+@C+'])=7')
Fetch Next From Table_Cursor Into @T,@C
End
Close Table_Cursor
Deallocate Table_Cursor
-------------------------方法2
declare @tablename varchar(100),@colname varchar(50)
--用游标
declare @str varchar(100)
--定义游标
declare DZCursor CURSOR for select b.name tablename,a.name colname from syscolumns a,sysobjects b where a.id=b.id and b.xtype='u' and object_id(b.name)>0 and a.xtype in (58,61) order by b.name,a.name
--打开游标
open DZCursor
--从游标取记录
fetch next from DZCursor into @tablename, @colname
--当有记录
while @@fetch_status=0
begin
set @str='update '+@tablename+' set '+@colname+'=dateadd(dd,-1,'+@colname+') where datepart(dw,'+@colname+')=1'
print @str
--取下一条记录
fetch next from DZCursor into @tablename, @colname
end
--关闭游标
close DZCursor
--删除游标引用
deallocate DZCursor
-----------------------------方法3
--先备份数据
EXEC SP_MSFOREACHTABLE N'
DECLARE @STR VARCHAR(8000)
SET @STR=''''
SELECT @STR=@STR+'' UPDATE ''+O.NAME+'' SET ''+C.NAME+''=DATEADD(DAY,-1,''+C.NAME+'') WHERE DATEPART(DW,''+C.NAME+'')=7 ''
FROM SYSCOLUMNS C JOIN SYSOBJECTS O ON C.ID=O.ID
WHERE O.ID=OBJECT_ID(''?'') AND (C.xtype=58 or C.xtype=61)
--PRINT ''SET DATEFIRST 1''+@STR
EXEC(''SET DATEFIRST 1''+@STR)
'
- 更新数据库中所有日期字段,周日减一天
- 将数据库中所有日期字段更新为非法定节假日与周末(节假日中调整的周末不更新)
- 如何同时更新数据库中所有表的相同字段
- SQL取出 所有周六 周日的日期
- SQL取出 所有周六 周日的日期
- SQL取出 所有周六 周日的日期
- 批量更新数据库所有表中字段的内容,中木马后的急救处理
- SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
- 更新数据库所有表及所有字段的存储过程
- mysql更新数据库中所有相同的某个字段的值
- 查看数据库中所有表的字段和字段信息
- 给数据库中所有表都加上同一字段字段
- 更新所有指定表时间字段及增加一天存储过程
- 更新整个库中所有表的指定字段名称
- sql语句--更新表中所有数据的某些字段
- mysql 根据指定日期取 周一至周日 本月第一天 最后一天
- 查询数据库所有字段
- 到当前日期的每周一和周日、每月第一天和最后一天日期的获取
- 五个强盗分宝石
- Java编程那些事儿90——装饰流使用1
- Java编程那些事儿91——装饰流使用2
- solaris迅速查找手册
- Linux中fdisk分区使用方法
- 更新数据库中所有日期字段,周日减一天
- 用hdparm调整你的硬盘性能
- 通过iozone测试硬盘性能
- 存储硬盘接口ATA/SATA/SCSI/SAS/FC比较
- JAVA 中的除以0和无穷大
- 【软件工程】绘制用例图
- SQLite的使用场景
- 今天是来CSDN写博客的第一天
- Oracle收购SUN,会有啥影响?