我的日期数据年份都是两位的,例如12/01/65,怎么办啊,insert into hr_human (GRMM,ZP,RYID,KSID,DWID,DWXZ,PYM,XM,XB,CSRQ,NL,GZSJ) values('08F8E0260C64418510CEFB2B06EEE5CD','image/nofound.jpg','JNB_C016_20080121090527166','JNB_C016_001','JNB_C016','在职在岗','XYQ','辛永强','男',to_date('08/01/45','mm-dd-yyyy'),62,to_date('09/01/64','mm-dd-yyyy'));
插入到数据库中年份都是00多少的,本来应该是19的。
怎么解决啊。数据很多

解决方案 »

  1.   

    instert 语句本身就不问题,最好就是写4位年份
    你可以下个UPDATE语句
    update hr_human set csrq=to_date('19'||substr(to_char(csrq,'yyyymmdd'),3,6),'yyyymmdd')
      

  2.   

    update hr_human   set   csrq= add_months(csrq,1900*12) 
      

  3.   

    上面是出生年月,比较好办,基本上现在工作的,没有2000年后的
    后面的工作日期就麻烦点,要做个判断,比如00-10年的前面加20,10以后的加19
    update   hr_human   set gzsj=case gzsj when to_char(gzsj,'yy') >='00' and to_char(gzsj,'yy') <='10'
    then to_date('20' ¦ ¦substr(to_char(gzsj,'yyyymmdd'),3,6),'yyyymmdd')
    else  to_date('19' ¦ ¦substr(to_char(gzsj,'yyyymmdd'),3,6),'yyyymmdd')
    end