日期:2014-05-17  浏览次数:21036 次

oracle修改日期显示格式
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';




------解决方案--------------------
SQL code
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-2009

ttt@ORA11G> ALTER SESSION SET NLS_language="SIMPLIFIED CHINESE";

会话已更改。

ttt@ORA11G> select sysdate from dual;

SYSDATE
----------------
12-3月 -2009

ttt@ORA11G> ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY';

会话已更改。

ttt@ORA11G> select sysdate from dual;

SYSDATE
----------
12-03-2009

ttt@ORA11G>

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


探讨
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安装时的选项有关?