oracle xe的时间格式问题,求助

warcao 2010-06-16 02:10:30
我要的数据库是Oracle 10g ex版,原来预设的时间格式是NLS_DATE_FORMAT DD-MON-RR,之后我修改了注册表,添加了 NLS_DATE_FORMAT 为'yyyy-mm-dd hh24:mi:ss',可是现在问题出现了,我用sql* plus命令行使用select sysdate from dual
结果是我想要的:2010-06-16 11:11:11 ,可是在图形界面sql(manager)中我用select sysdate from dual得到的还是
16-6月 -10,没有变化,与命令行的不一致,这样导致我在命令行方式下可以以为'yyyy-mm-dd hh24:mi:ss'格式insert into,但到了图形界面又得用DD-MON-RR方式输入,否则提示字符格式不正确。该怎么帮呀?
...全文
113 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddlucky 2010-10-31
  • 打赏
  • 举报
回复
我也碰到了和LZ一样的问题

我也用的是10G XE版,用户界面是使用数据库机8080端口发布的页面。

在图形界面当中执行查询的时候,返回的时间格式始终是 '01-1月-2010' 这样的方式

但是在命令行界面当中敲命令查询的话,已经改成'2010-01-01'这样了……

有点困扰……但还不影响开发……
warcao 2010-06-17
  • 打赏
  • 举报
回复
而且在图形界面的SQL 命令菜单中输入alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' ;会提示 ORA-02096: 此选项的指定初始化参数不可修改。
warcao 2010-06-17
  • 打赏
  • 举报
回复
感谢各位,可是alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
在重启后仍然在图形化界面中 是DD-MON-RR ,只是sql* plus命令行种 日期格式已是'yyyy-mm-dd hh24:mi:ss' ,同一个表的数据在Oracle命令行与图形界面 日期格式不同。照理说应该是同一个呀。
碧水幽幽泉 2010-06-16
  • 打赏
  • 举报
回复
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' ;
心中的彩虹 2010-06-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 warcao 的回复:]
我要的数据库是Oracle 10g ex版,原来预设的时间格式是NLS_DATE_FORMAT DD-MON-RR,之后我修改了注册表,添加了 NLS_DATE_FORMAT 为'yyyy-mm-dd hh24:mi:ss',可是现在问题出现了,我用sql* plus命令行使用select sysdate from dual
结果是我想要的:2010-06-16 11:11:11 ,可是在图形界……
[/Quote]


alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
完后要重重新启动数据库实例服务 就是重启数据库
hfCoder 2010-06-16
  • 打赏
  • 举报
回复
不懂,帮顶
warcao 2010-06-16
  • 打赏
  • 举报
回复
alter session set NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss';
只是暂时的,我想要永久的。而且这语句也只在sql * plus命令行中有效,为什么图形界面中的sql 会与 sql * plus命令行的设置不同呢。
warcao 2010-06-16
  • 打赏
  • 举报
回复
我现在是想在Oracle图形环境中(数据库主页)中输入'yyyy-mm-dd hh24:mi:ss'这种格式的。
select * from NLS_SESSION_PARAMETERS
where parameter='NLS_DATE_FORMAT'
在sql * plus命令行中与是'yyyy-mm-dd hh24:mi:ss'
但是在图形界面中sql 语句是DD-MON-RR,郁闷啊。
导致现在我要输入入'yyyy-mm-dd hh24:mi:ss'格式只能用命令行insert into,而不能直接在图形环境中(数据库主页)中输入。
iihero_ 2010-06-16
  • 打赏
  • 举报
回复
你用的是什么图形界面sql(manager?
也许它有一个设置呢。
如果没有,在获取结果之前,执行一下:
alter session set NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
shan1119 2010-06-16
  • 打赏
  • 举报
回复
試試:
alter session set NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss';
select * from NLS_SESSION_PARAMETERS
where parameter='NLS_DATE_FORMAT'
shan1119 2010-06-16
  • 打赏
  • 举报
回复
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧