A表
date
2012-04-30 00:00:00.000
2012-01-31 00:00:00.000总之把这个表时间的最后日期改为26日,结果为
2012-04-26 00:00:00.000
2012-01-26 00:00:00.000

解决方案 »

  1.   

    TRY
    UPDATE TB
    SET DATE=CONVERT(VARCHAR(7),DATE,120)+'-26'
    WHERE DATE IN(SELECT MAX(DATE) FROM TB T WHERE DATEDIFF(MM,T.DATE,TB.DATE)=0)
      

  2.   

    update 
      a
    set
      date=convert(varchar(7),date,120)+'-26'
    where
      date=(select max(date) from tb)
      

  3.   

    UPDATE  A  SET  date=convert(varchar(7),date,120)+'-26' 
    WHERE date=(SELECT MAX(date) FROM A)
      

  4.   

    select CONVERT(varchar(7),'2012-04-30 00:00:00.000',120)+'-26 00:00:00.000'
      

  5.   


    declare @a table(dat datetime)
    insert into @a select '2012-4-30'
    union all select '2012-1-31'
    select * from @a
    update @a set dat=(replace(dat,datepart(day,cast((convert(varchar(10),dat,111)) as datetime)),'26')     )
    select * from @a
      

  6.   


    --保留到微妙
    update A 
    set Date=CONVERT(VARCHAR(7),Date,121)+'-26 '+CONVERT(VARCHAR(12),Date,114)
    where day(Date)<>26
    --只到日期
    update A 
    set Date=CONVERT(VARCHAR(7),Date,121)+'-26'
    where day(Date)<>26