问:将“20100223” 格式化成“23-Feb-2010”?
或者“2010-02-23” 格式化成“23-Feb-2010”?实现一种即可。
SQL SERVER做这样的转换很容易,试了试Oracle的居然没能实现,郁闷!
谢谢解答!!

解决方案 »

  1.   

    SQL> select to_char(to_date('20100223','yyyymmdd'),'dd-Mon-yyyy','nls_date_language=AMERICAN') from dual;
     
    TO_CHAR(TO_DATE('20100223','YY
    ------------------------------
    23-Feb-2010
     
    SQL> 
      

  2.   


    select to_char(to_date('2010-02-23','yyyy-mm-dd'),'dd-mon-yyyy') from dualTO_CHAR(TO_
    -----------
    23-feb-2010
      

  3.   

    select to_char(date '2010-02-23','yyyy-mon-dd') from dual
      

  4.   

    select to_char(to_date('20100223','yyyymmdd'),'dd-Mon-yyyy','nls_date_language=american') from dual;
     
      

  5.   

    去看看文档吧.有个章节叫Format Models.
    B19306_01\server.102\b14200\sql_elements004.htm#i34510
      

  6.   

    另外还要看下
    SQL and PL/SQL Programming in a Global EnvironmentB19306_01\server.102\b14225\ch9sql.htm#sthref1233
      

  7.   

    http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/sql_elements4a.htm
    官方的
      

  8.   


    ---加个语言
    select to_date('20100223','yyyymmdd','nls_date_language=AMERICAN') from dual
      

  9.   


    实际情况在说 也可以改变比的会话格式  SESSION 的NLS_DATE_FORMAT='xxxxx'