我的数据是这样的,表是jj_jfjljlsj                               fs
2009-10-11 :09:44:59                1
2009-10-12 :10:22:22                1.8
.....
我想把2009年10月份的数据update成2010年的,但时间不动,只改日期,如何操作呢发 ?

解决方案 »

  1.   

    upate jj_jfjl set jlsj = jlsj + 365 where trunc(jlsj,'yyyy') = to_date('2009-10-01','yyyy-mm-dd')
      

  2.   

    -- 如果:日期和时间是一个字段,且字段是date类型的话:
    update jj_jfjl set jlsj=add_months(jlsj,12);
    commit;
      

  3.   

    update jj_jfjl
    set 修改的字段 = '2010' || substr(字段,5,最后)
    where 条件
      

  4.   

    update table jj_jfjl
    set jlsj =add_months(jlsj,12)
    where to_char(jlsj,'yyyymm')='200910'
      

  5.   

    你的jlsj是date的
    update jj_jfjl set jlsj=add_months(jlsj,12)
    where to_char(jlsj,'yyyy-mm')='2009-10'
      

  6.   


    update   yyq_date
    set  DATET2 = '2022-12-12 ' || to_char(DATETI,'hh24') || ':' || to_char(DATETI,'mi') || ':' || to_char(DATETI,'ss')
    ----------------------------------------------------------------------------------------
    DATETI(TIMESTEMP)       DATET2(VARCHAR2)
    2011/10/01 17:17:17 2022-12-12 17:17:17
    2010/09/09 15:15:15 2010-09-09 15:15:15
    2010/10/15 16:16:16 2010-10-15 16:16:16
    2010/10/15 07:07:07 2010-10-15 07:07:07
      

  7.   

    update jj_jfjl t
    set fs=(select fs from jj_jfjl t1 where t.jlsj=add_months(t1.jjsj,-12))
    where exists(select 1 from jj_jfjl t1 where t.jlsj=add_months(t1.jjsj,-12)
                 and trunc(t.jlsj)='2009')