请问如何把这个格式的数据"2011-08-26 14:45:34.54  "转换成这种"21-6月 -11 11.04.41.000000 下午"像这种格式的?
第二个日期是oracle系统默认sysdate得到的.第一个是simpleDateFormate得到的.请问如何转换?

解决方案 »

  1.   

    select to_date(simpleDateFormate,'日期格式') from dual
      

  2.   

    完全没有必要转换的,都是日期格式的,只是呈现格式不一,做比较的话,没有任何问题。
    如果需要呈现的话,可以:SELECT to_char(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') FROM dual; 
      

  3.   

    像4楼说的不转换也可以。但是你非想转换,可以先搞清楚ORACLE本身的格式是什么样子的:
    sqlplus连接到数据库后,执行
    show parameter nls_date_format;
    比如说:后面显示出的VALUE是'DD-MON-RR',
    你可以执行select to_char(sysdate, 'DD-MON-RR') from dual;看看转换后是啥样的。
      

  4.   

    楼上的问一下:我用sqlplus连接到数据库后输入show parameter nls_date_format;
    然后执行,提示:ORA-00942: 表或视图不存在,是我执行的地方不对啊?还是你的命令有问题啊?
      

  5.   

    这个好像是使用sysdba的身份登进去,在sqlplus中执行的吧!
      

  6.   

    to_date('2011-08-26 16:23:55','yyyy-mm-dd hh24:mi:ss')这样的确可以转换成我想要的格式,但是to_date('2011-08-26 16:23:55.111111','yyyy-mm-dd hh24:mi:ss')这样带微秒的就不行了.项目中开发需要用到这个微秒.请问怎么做,谢谢
      

  7.   


    [TEST@myorcl] SQL>select to_timestamp('2011-08-26 16:23:55.111111','yyyy-mm-dd hh24:mi:ss.ff6') from dual;TO_TIMESTAMP('2011-08-2616:23:55.111111','YYYY-MM-DDHH24:MI:SS.FF6')
    ---------------------------------------------------------------------------
    26-8月 -11 04.23.55.111111 下午