现有DATATIME字段CLOCK_TIME ,内有记录
"2008-09-10 09:10:11"
"2008-09-11 08:10:11"
"2008-09-12 03:10:11"....
需成批换成
"2008-10-10 09:10:11"
"2008-10-11 08:10:11"
"2008-10-12 03:10:11"
....
退把"2008-09 "  换成"2008-10"

解决方案 »

  1.   


    update tb set CLOCK_TIME=dateadd(mm,1,CLOCK_TIME)
      

  2.   

    UPDATE tb
       SET clock_time=DATEADD(MONTH,1,clock_time)
    WHERE CONVERT(VARCHAR(7),clock_time,120)='2008-09'
      

  3.   

    update tb
    set clock_time=dateadd(month,1,colck_time)
    where convert(char(7),clock_time,120)='2008-09'
      

  4.   

    update tb set CLOCK_TIME=dateadd(mm,1,CLOCK_TIME)
    WHERE CONVERT(VARCHAR(7),clock_time,120)='2008-09'
      

  5.   


    update 表 set datatime=dateadd(mm,1,字段)
      

  6.   

    UPDATE tb
       SET clock_time=DATEADD(MONTH,1,clock_time)
      

  7.   

    DATEADD(MONTH,1,clock_time)中的month是不是当前月?我要的是"2008-10" 怎写啊
      

  8.   

    --看例子
    declare @t table(CLOCK_TIME datetime)
    insert @t select '2008-09-10 09:10:11' 
    insert @t select '2008-09-11 08:10:11' 
    insert @t select '2008-09-12 03:10:11' 
    update @t set CLOCK_TIME=dateadd(mm,1,CLOCK_TIME)
    WHERE CONVERT(VARCHAR(7),clock_time,120)='2008-09'
    select * from @t
    /*CLOCK_TIME                                             
    ------------------------------------------------------ 
    2008-10-10 09:10:11.000
    2008-10-11 08:10:11.000
    2008-10-12 03:10:11.000(影響 3 個資料列)*/
      

  9.   

    update 表
      set CLOCK_TIME=dateadd(mm,1,CLOCK_TIME)
    WHERE 
      CONVERT(VARCHAR(7),clock_time,120)='2008-09'
      

  10.   

    如果是改成"2008-07"呢,也用
    update 表 
      set CLOCK_TIME=dateadd(mm,1,CLOCK_TIME) 
    WHERE 
      CONVERT(VARCHAR(7),clock_time,120)='2008-09' 
      

  11.   

    declare @t table(CLOCK_TIME datetime)
    insert @t select '2008-09-10 09:10:11' 
    insert @t select '2008-09-11 08:10:11' 
    insert @t select '2008-09-12 03:10:11' 
    update @t set CLOCK_TIME=dateadd(mm,-2,CLOCK_TIME)
    WHERE CONVERT(VARCHAR(7),clock_time,120)='2008-09'
    select * from @t
    /*CLOCK_TIME                                             
    ------------------------------------------------------ 
    2008-07-10 09:10:11.000
    2008-07-11 08:10:11.000
    2008-07-12 03:10:11.000*/
      

  12.   

    谢谢各位,原来是dateadd函数不熟
      

  13.   


    update tnclt set CLOCK_TIME=dateadd(month,1,CLOCK_TIME) where   datepart(month,CLOCK_TIME)=9