在日期字段中增加日期

时间:2014-03-11 16:54:26

标签: sql-server

我有一个包含365条记录的表,这个表也有一个空值的日期列。我想在所有行中插入日期,增加1天,当前日期。 例如:第1栏和第2栏中的当前日期应该是第二天等等......所有日期记录之间的差异应为24小时。

2 个答案:

答案 0 :(得分:1)

您可以使用此更新查询:

UPDATE tbl SET Col2 = DATEADD(d, 1, Col1)

答案 1 :(得分:0)

带有光标的存储例程应该完成这项工作:

DELIMITER $$

DROP PROCEDURE IF EXISTS `insert_ascending_dates` $$
CREATE PROCEDURE `insert_ascending_dates`()
BEGIN

declare done int default false;
declare t_id int;
declare c cursor for select [id] from [table];
declare continue handler for not found set done = true;

set @dte = date();
set @strSql = 'update [table] set [date] = ? where [id] = ?';
prepare stmt from @strSql;

open c;
read_loop: loop
  fetch c into t_id;
  if done then
    leave read_loop;
  end if;
  set @tId = t_id;
  execute stmt using @dte, @tId;
  set @dte = date_add(@dte, interval 1 day);
end loop;
close c;

deallocate prepare stmt;

END $$

DELIMITER ;

创建例程后,您需要按如下方式调用它:

call insert_ascending_dates();
相关问题