TechWeb-技术社区's Archiver

天下足球 发表于 2008-1-23 11:40

怎样修改oracle默认的日期格式?

rt:怎样修改oracle默认的日期格式?

发表于 2008-1-23 11:40

SQL> alter session set nls_date_format='yyyymmdd';\Pp2Q#\SRj
R\'IL IW0E:[fB"H
会话已更改。J c3fn{H ~

0L#YIi2Ns.XC_.I
R7IX+Nb]9[\I SQL> select sysdate from dual;
3a{5CSpg &j3Uq| nN d
SYSDATEu+kt:nU+ok1S|
--------
3Jh8F6J+P.k@ 20020430

发表于 2008-1-23 11:41

成功了!
j$\*G'g bf%F5}p${zu 谢谢!

发表于 2008-1-23 11:41

但是这种方法只能改掉在当前会话里的日期显示格式,当重新建立一个会话的时候,必须重新执行该命令。如果我想改变oracle默认的日期显示格式,应该在那里改?

发表于 2008-1-23 11:41

在注册表中添加:NLS_DATE_FORMAT=yyyy-mm-dd-hh24:mi:ss

发表于 2008-1-23 11:41

ON UNIX change .profile NSL_DATE_FORMAT=YYYYMMDD;export NLS_DATE_FORMATQt#K-kVSK
ON NT     change regedit
C @EL)Ihw$Z or
c_U:i(~l   initsid.ora

发表于 2008-1-23 11:41

我试过了,怎么不管用?
Fg5U,aS[0t
7M't&`n^ SUN + SOLARIS + ORACLE 8.1.76uLA1E4xFb4U
使用csh。
&[R6S)d$e setenv NSL_DATE_FORMAT YYYY-MM-DD-HH24:MI:SS
"J ^;jg)As$CTs k[@ M,w#Z [$N%{
重新登陆,然后进入oracle,执行select命令,发现日期类型没有改变。

发表于 2008-1-23 11:41

如果是修改注册表的话,是在注册表的什么地方添加这句话?如果是修改initsid.ora文件的话,该文件是不是就在d:\oracle\ora81\database下,是直接添加NLS_DATE_FORMAT=yyyy-mm-dd
*q'LeY.c W"[)sh hh24:mi:ss这句话吗?

发表于 2008-1-23 11:41

在注册表的KEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0 VoAs"{2h]d
添加字串值NLS_DATE_FORMAT.将其值设为YYYY-MM-DD-HH24:MI:SS.
i5@[2^R!q,v }s^*G 如修改参数文件的话。可直接在参数文件中添加:
/@j'y5t3z NLS_DATA_FORMAT=YYYY-MM-DD-HH24:MI:SS,但须将注册表中上述位置的NLS_LANG字串值去掉。

发表于 2008-1-23 11:41

我在注册表中增加了一条语句,成功地修改了oracle的默认时间格式。

发表于 2008-1-23 11:41

实践证明,修改init文件不起作用
nP#SJb
9cU:nV:~X +H;~-f#ThF3}K
环境w2k+ora817,修改init.ora,添加NLS_DATE_FORMAT=yyyy-mm-dd2W`"P#Xw2` }T"d1K Q
hh24:mi:ss,重起数据库,日期格式没有变化。8L M%F"TN
修改注册表的方法可行。

发表于 2008-1-23 11:41

是不是应该重新启动数据库?

页: [1]

  © 2001-2009 Comsenz Inc.