SQL> select sysdate from dual;
 
SYSDATE
-----------
2009-3-12 0
希望修改成
dd-mon-yyyy的形式,系统是xp中文版。本机上安装了ms sql server 2000/2005都是中文排序规则。
已用语句:
ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY';

解决方案 »

  1.   

    ttt@ORA11G> ALTER SESSION SET NLS_language=american;Session altered.ttt@ORA11G> ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY';Session altered.ttt@ORA11G> select sysdate from dual;SYSDATE
    --------------
    12-MAR-2009ttt@ORA11G> ALTER SESSION SET NLS_language="SIMPLIFIED CHINESE";会话已更改。ttt@ORA11G> select sysdate from dual;SYSDATE
    ----------------
    12-3月 -2009ttt@ORA11G> ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY';会话已更改。ttt@ORA11G> select sysdate from dual;SYSDATE
    ----------
    12-03-2009ttt@ORA11G>
      

  2.   

    SQL> ALTER SESSION SET NLS_language=american; 
    Session altereda
     
    SQL> ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY'; 
    Session altered
     
    SQL> select sysdate from dual;
     
    SYSDATE
    -----------
    2009-3-12 1还是不行!会不会跟安装oracle安装时的选项有关?
      

  3.   

    pl/sql developer等的工具不行,因为他们在输出的时候会再次按照pl/sql developer的设置进行转换。
    在sql*plus和jdbc程序中可以。
      

  4.   

    pl/sql developer工具用命令行可以,在sqlplus中也可以。
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as myuser
     
    SQL> ALTER SESSION SET NLS_language=american; 
     
    Session altered
     
    SQL> ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY'; 
     
    Session altered
     
    SQL> select sysdate from dual;
     
    SYSDATE
    -----------
    2009-9-11 1
     修改会话后进行数据插入。
    SQL> INSERT INTO course VALUES (10,'Technology Concepts',1195,NULL,'DSCHERER',TO_DATE('29-MAR-2007 20:14:33','DD-MON-YYYY HH24:MI:SS'),'ARISCHER',TO_DATE('05-APR-2007 20:14:33','DD-MON-YYYY HH24:MI:SS'));   
     
    1 row inserted