现在我将2009-10-20 09:22:52.0这样的字符串,转化成date类型,插入到表里我用了一下to_date试验,
select to_date('2009-10-20 09:22:52.0', 'yyyy-MM-dd hh24:mi:ss') from dual结果报错,在pl sql 里。请问应该怎么转换?oracle的日期类型取回来都是.0的

解决方案 »

  1.   

    select to_date('2009-10-20 09:22:52', 'yyyy-MM-dd hh24:mi:ss') from dual 
      

  2.   

    select to_date(SUBSTR('2009-10-20 09:22:52.0',1,LENGTH('2009-10-20 09:22:52.0')-2), 'yyyy-MM-dd hh24:mi:ss') from dual 
      

  3.   

    'YYYY-MM-DD HH24:MI:SS.ff'试试这个
      

  4.   

    如果是在PLSQL中,可以这样做
    declare
    v_date date;
    BEGIN
    select to_timestamp('2009-10-20 09:22:52.0','yyyy-mm-dd hh24:mi:ss.ff1') into v_date from dual;
    DBMS_output.put_line('v_date: ' ||v_date);
    END;
    /
      

  5.   

    select to_date('2009-10-20 09:22:52.0','YYYY-MM-DD HH24:MI:SS.ff') from dual;
    这个方法行不通呀!
      

  6.   

    select to_date('2009-12-1 14:30:01.0','yyyy-mm-dd hh24:mi:ss."0"') from dual
      

  7.   

    select to_date('20091002','YYYY-MM-DD') from dual
    在我这里可以啊!
    结果是2009-10-2