例如:
1998-1-20
1999-2-30
1999-3-3
....-..-..
....-..-..
....-..-..
....-..-..可以批量修改年份吗?月和日不变...求解....

解决方案 »

  1.   

    select dateadd(yy,1,'2009-01-01')   =  2010-01-01 00:00:00.000
      

  2.   


    update tb
    set datecol=dateadd(yy,1,datecol)
      

  3.   

    create table tb(dt datetime)
    insert into tb values('1998-1-20') 
    insert into tb values('1999-2-28') 
    insert into tb values('1999-3-3')
    go--全部加一年,减一年
    select dateadd(yy , 1 , dt) '全部加一年' , 
           dateadd(yy , -1 , dt) '全部减一年' ,
           '2009' + right(convert(varchar(10),dt,120),6) '全部改为2009年' 
    from tbdrop table tb /*
    全部加一年                                                  全部减一年                                                  全部改为2009年      
    ------------------------------------------------------ ------------------------------------------------------ -------------- 
    1999-01-20 00:00:00.000                                1997-01-20 00:00:00.000                                2009-01-20
    2000-02-28 00:00:00.000                                1998-02-28 00:00:00.000                                2009-02-28
    2000-03-03 00:00:00.000                                1998-03-03 00:00:00.000                                2009-03-03(所影响的行数为 3 行)*/另1999年2月没有30号
      

  4.   

    update tb
    set datecol='2009'+right(convert(char(10),datecol,120),6)