update 表 set 时间1 =  dateadd(day,datediff(day,时间1,日期),时间1),
时间1 =  dateadd(day,datediff(day,时间2,日期),时间2)

解决方案 »

  1.   

    select 日期,时间1=dateadd(year,year(日期),时间1),时间2=dateadd(year,year(日期),时间2)
    from 表
      

  2.   

    --如果是更新,可以用
    update 表 set 时间1=dateadd(year,year(日期),时间1),时间2=dateadd(year,year(日期),时间2)
      

  3.   

    eg:
    select cast(dateadd(day,datediff(day,'1900.01.01 07:50','2003.01.01'),'1900.01.01 07:50') as smalldatetime)
                                                           
    ------------------------------------------------------ 
    2003-01-01 07:50:00(所影响的行数为 1 行)
      

  4.   

    create view 视图名
    as
    select 日期,时间1=dateadd(year,year(日期),时间1),时间2=dateadd(year,year(日期),时间2)
    from 表
      

  5.   

    --上面是只合并年的,如果要合并到天,就用:
    create view 视图名
    as
    select 日期,时间1=dateadd(day,datediff(day,日期,getdate()),时间1),时间2=dateadd(day,datediff(day,日期,getdate()),时间2)
    from 表