如何用SQL将 Fri Nov 11 00:00:00 CST 2011 转换为 2011-11-11

解决方案 »

  1.   

    你这是从后台看的,还是通过pl/sql developer之类的工具看的?
    如果是从后台看的,可以通过修改nls_date_format来实现;
    如果是通过工具看的,可以修改工具的设置。。
      

  2.   

    select to_char(to_timestamp('Fri Nov 11 00:00:00 CST 2011','mm-dd-yyyy hh12:MI:SS:ff3CH','NLS_DATE_LANGUAGE = China'),'YYYY-MM-DD') from dual
    这样去转,不知道怎么格式化
      

  3.   


    这样子运行有问题,不知道你的oracle是什么版本的!
      

  4.   

    下面这些format 一个一个试试,肯定有你能改的,举个例子。
    [SYS@myoracle] SQL>select current_timestamp from dual;CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    14-11月-11 02.54.45.006000 下午 +08:00[SYS@myoracle] SQL>show parameter nls_tNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    nls_time_format                      string
    nls_time_tz_format                   string
    nls_timestamp_format                 string
    nls_timestamp_tz_format              string
    [SYS@myoracle] SQL>alter session set nls_timestamp_tz_format = 'yyyy-mm-dd';会话已更改。[SYS@myoracle] SQL>select current_timestamp from dual;CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    2011-11-14[SYS@myoracle] SQL>
      

  5.   

    select to_char(sysdate,'yyyy-mm-dd') from dual