加分题(20分)SQL问题(20分)

  • 主题发起人 主题发起人 cncangel
  • 开始时间 开始时间
C

cncangel

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用一条SQL语句或命将数据库中所有日期都加1天或减1天?
请给出详细语句!
 
procedure TForm1.Button1Click(Sender: TObject);
begin
with Query1do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE Mytest SET TestDate=TestDate+1');
ExecSQL;
end;
end;
 
所有数据库-->所有表-->所有日期字段 ?
 
那你改系统时间得了。
 
[:D]呵呵 深蓝色的鱼说的方法很好啊 你改系统时间 再重新写一次库 多好
 
DECLARE @tablename VARCHAR(100)
DECLARE @fieldname VARCHAR(100)
DECLARE @sql VARCHAR(250)
DECLARE cur cursor
FOR
select sysobjects.name as tablename,syscolumns.name as fieldname
from syscolumns
left join sysobjects on syscolumns.id=sysobjects.id
where syscolumns.xtype='61' and sysobjects.xtype='U'
OPEN cur
FETCH NEXT FROM cur
INTO @tablename,@fieldname
WHILE @@FETCH_STATUS = 0
begin
SET @sql= 'UPDATE ' + @tablename+' SET '+@fieldname+' = '+@fieldname+'+1'
EXEC (@sql)
FETCH NEXT FROM cur
INTO @tablename,@fieldname
end
CLOSE cur
DEALLOCATE cur
 
SQL Server2000
有一个内建函数ADDDATE
可以用
UPDATE _TABLENAME SET _FIELDNAME=ADDDATE(_FIELDNAME,'DAY', 1)
该函数具体怎么调用忘记了,你查一下帮助
 
多人接受答案了。
 
后退
顶部