我的机器是WIN8系统, 用PLSQL连接到服务器做如下操作, 发现修改 session 的日期格式后不生效:
SQL> select sysdate from dual;
SYSDATE
-----------
2013/3/5 10
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered
SQL> select sysdate from dual;
SYSDATE
-----------
2013/3/5 10
SQL>
服务器是 LINUX, 数据库是 ORACLE 10g. 我已经在注册表里加了 nls_date_format, 值是 yyyy-mm-dd hh24:mi:ss, 可问题还是依旧;
但是用 SecureCRT 连到服务器上做上面同样操作是 OK 的.这里有个帖子, 貌似也没解决, 求助啊~
http://www.itpub.net/thread-930153-1-1.htmlsessionoracle
SQL> select sysdate from dual;
SYSDATE
-----------
2013/3/5 10
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered
SQL> select sysdate from dual;
SYSDATE
-----------
2013/3/5 10
SQL>
服务器是 LINUX, 数据库是 ORACLE 10g. 我已经在注册表里加了 nls_date_format, 值是 yyyy-mm-dd hh24:mi:ss, 可问题还是依旧;
但是用 SecureCRT 连到服务器上做上面同样操作是 OK 的.这里有个帖子, 貌似也没解决, 求助啊~
http://www.itpub.net/thread-930153-1-1.htmlsessionoracle
http://www.orafaq.com/usenet/comp.databases.oracle.server/2005/10/27/1583.htm
而你PL/SQL客户端要调用的是Linux上的服务器吧
SecureCRT 可以、应该是PL/SQL的问题
select * from v$nls_parameters where parameter = 'NLS_DATE_FORMAT';
查出来的值就是 yyyy-mm-dd hh24:mi:ss但是按你给的链接里的方法查:
select name,value from v$parameter where name='nls_date_format';
有 nls_date_format 但是值是空的这又能说明啥问题呢
CLIENT端查询出来的日期格式应该是跟CLIENT端的设置有关吧,字符集还是环境变量或者什么晕啊
例如:使用PLSQL Developer工具,可以在Tools-Preferences-User Interface-Date/Time 里面修改。
PL/SQL里有设置的,按照LS的设置一下吧
Tools-Preferences-User Interface-NLS Options