库里有个采集日期的字段,为如下varchar型:
18-10月-48
01-11月-71
04-11月-82
16-11月-77
16-11月-72
08-10月-78
04-8月 -69
09-12月-71
16-8月 -75
23-3月 -77
25-5月 -80
想求教各位前辈,怎么在sql中处理成date型?

解决方案 »

  1.   

    select to_date(varchar字段,'yyyy-mm-dd') from dual;
    但是你的字段里 有 诸如 :71,75,48,这不是日期的合法字符串格式
      

  2.   


    to_date(字段,'dd-mon-yy')
      

  3.   

    谢谢了,还想请教一个问题,这样处理的结果是:
    2078-9-30
    2048-10-18
    2071-11-1
    2082-11-4 
    默认是现在的千年加上yy对应的字符,我如何控制yyyy,处理成:
    1978-9-30
    1948-10-18
    1971-11-1
    1982-11-4
      

  4.   


    to_date(substr(字段,1,length(字段)-2)||'19'||substr(字段,-2),'dd-mon-yyyy')