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.html
9 个解决方案
#1
注册表修改的格式确认下是否正确
#3
在win8上修改注册表 nls_date_format,生效的是win8上的吧
而你PL/SQL客户端要调用的是Linux上的服务器吧
SecureCRT 可以、应该是PL/SQL的问题
而你PL/SQL客户端要调用的是Linux上的服务器吧
SecureCRT 可以、应该是PL/SQL的问题
#4
格式应该没问题,无空格等特殊字符。。。
#5
把 session 的 nls_date_format 修改成 'yyyy-mm-dd hh24:mi:ss' 后,
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 但是值是空的
这又能说明啥问题呢
#6
换了台XP,连接同一个服务器,做上面同样操作,还是有同样问题!
CLIENT端查询出来的日期格式应该是跟CLIENT端的设置有关吧,字符集还是环境变量或者什么。。。晕啊
#7
你使用PLSQL工具连接数据库吧,PLSQL工具显示的日期格式,是工具里面自己的格式。
例如:使用PLSQL Developer工具,可以在Tools-Preferences-User Interface-Date/Time 里面修改。
例如:使用PLSQL Developer工具,可以在Tools-Preferences-User Interface-Date/Time 里面修改。
#8
PL/SQL里有设置的,按照LS的设置一下吧
Tools-Preferences-User Interface-NLS Options
#9
两位正解, 多谢啦
还有个疑问: 1) 为啥在PLSQL 里设置完后, sql window 里 sysdate 可以按设置的格式显示, 而 command window 里只显示 年/月/日, 为啥不显示 时/分/秒 呢? 2) 在 PLSQL 里不能通过 alter session set nls_date_format = 'XXX'; 来修改日期格式吗?
#1
注册表修改的格式确认下是否正确
#2
#3
在win8上修改注册表 nls_date_format,生效的是win8上的吧
而你PL/SQL客户端要调用的是Linux上的服务器吧
SecureCRT 可以、应该是PL/SQL的问题
而你PL/SQL客户端要调用的是Linux上的服务器吧
SecureCRT 可以、应该是PL/SQL的问题
#4
格式应该没问题,无空格等特殊字符。。。
#5
把 session 的 nls_date_format 修改成 'yyyy-mm-dd hh24:mi:ss' 后,
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 但是值是空的
这又能说明啥问题呢
#6
换了台XP,连接同一个服务器,做上面同样操作,还是有同样问题!
CLIENT端查询出来的日期格式应该是跟CLIENT端的设置有关吧,字符集还是环境变量或者什么。。。晕啊
#7
你使用PLSQL工具连接数据库吧,PLSQL工具显示的日期格式,是工具里面自己的格式。
例如:使用PLSQL Developer工具,可以在Tools-Preferences-User Interface-Date/Time 里面修改。
例如:使用PLSQL Developer工具,可以在Tools-Preferences-User Interface-Date/Time 里面修改。
#8
PL/SQL里有设置的,按照LS的设置一下吧
Tools-Preferences-User Interface-NLS Options
#9
两位正解, 多谢啦
还有个疑问: 1) 为啥在PLSQL 里设置完后, sql window 里 sysdate 可以按设置的格式显示, 而 command window 里只显示 年/月/日, 为啥不显示 时/分/秒 呢? 2) 在 PLSQL 里不能通过 alter session set nls_date_format = 'XXX'; 来修改日期格式吗?