求高手,我现在有一批数据,我想每天更新不更新时间,只更新日期为当前日期。例如: time:2009-8-12 11:21:10 (此种数据为一批,日期相同,时间不同)       想更新为:2009-9-2(系统当前日期)11:21:10(时间内容不变)                                      ------就是说把一批数据的日期变成当前系统日期,时间不需要更新!
              求SQL语句解决办法。请高手指点!!!

解决方案 »

  1.   

    update tb set 
        time=dateadd(dd,datediff(dd,time,getdate()),time)
      

  2.   

    UPDATE TB SET DATE=DATEADD(DAY,DATEDIFF(DAY,DATE,GETDATE()),DATE)
      

  3.   

    select stuff(convert(varchar,getdate(),120),1,10,'2009-09-01')--这样
    /*
    (无列名)
    2009-09-01 17:38:09
    */
      

  4.   

    如果需要其它条件,WHERE自己加.
      

  5.   

    update 
      tb 
    set 
      time=dateadd(dd,datediff(dd,time,getdate()),time)
      

  6.   

    if object_id('[cc]') is not null drop table [cc]
    create table [cc] ([time] datetime)
    insert into [cc]
    select '2009-8-12 11:21:10'update cc set time=cast(convert(varchar(10),getdate(),120)+' '+convert(varchar(10),time,108) as datetime) select * from cc/*
    time
    -----------------------
    2009-09-02 11:21:10.000(1 行受影响)*/
      

  7.   


    select  substring(convert(varchar,getdate(),120),1,10)+stuff('2009-09-01 11:21:10',1,10,
    substring(convert(varchar,getdate(),120),1,charindex(convert(varchar,getdate(),120),' ')))                                                            
    ----------------------------------------------------------- 
    2009-09-02 11:21:10(所影响的行数为 1 行)
      

  8.   

     最后应用的可以实现把日期变为当前日期时间不变:
    update 表 set inserttime = ADDDATE(inserttime,TO_DAYS(now())-TO_DAYS(inserttime))大家辛苦了。每个人都得分!