用游标写啊,逐行读取表中数据 ,在FOR 循环的时候,设定一个变量P,Q=MOD(P,3),循环一次,P+1当Q=0 时,将表中的post_date+1;UPDATE 表!
用游标更新你的表吧!
当然,如果用其他的编程语言可能更简单点!
如果想要一句的SQL语言,本人暂时无能为力,希望对你有帮助
---------------
DECLARE
p number:=0
q number:=0
v_date date
CURSOR C1 IS SELECT (其他任何一个字段必须是唯一的)
from posts
begin
select to_date('起始日期',‘yyyy/mm/dd') into v_date from dual
for r1 in c1 loop
EXIT WHEN C1%NOTFOUND
p:=p+1
if mod(p,3)=0 then
select to_date(v_date+1,'yyyy/mm/dd') into v_date from dual
update post_date set post_date =V_DATE WHERE 游标中字段=r1.游标中字段
end if
end loop
end
我用的是ORACLE数据库!
大概就是这么写,不知道你的具体表结构如何,有错的话自己修改看看
select DateAdd (expire_date,1,'2012-06-24'),expire_date from A你这个语句中第一个参数你对不对暂时还看不出,但是最后一个参数你传入的是一个字符串 ,它需要的是个日期格式.当然就不行了,需要转换,还有,如果你只是加一天的话,第一个参数固定写成day就可以
加一年 则为 DateAdd(yy,1,getdate())减一年 则为 DateAdd(yy,-1,getdate())
将DataBase数据库中的表UserTable内CreateTime字段的时间统一加十天。
USE DataBase
UPDATE [UserTable] SET CreateTime = DATEADD(day, 10, CreateTime)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)