oracle 数据库时间显示形式为24小时
执行selectto_date('2005-12-2511:25:59','yyyy-mm-ddhh24:mi:ss')fromdual和selectto_date('2...
执行select to_date('2005-12-25 11:25:59','yyyy-mm-dd hh24:mi:ss') from dual和select to_date('2005-12-25 11:25:59','yyyy-mm-dd hh:mi:ss') from dual的结果都是:2005-12-25 上午 11:25:59,重装oracle数据库后无法显示24小时形式的时间了,求解答
展开
5个回答
展开全部
在sql*plus中修改当前会话的日期格式。
将当前会话的时间格式修改为这种格式: 2003-01-28 15:23:38,即四位年-两位月-两位日,空格,24小时的制的小时:分钟:秒。这种修改方法,只对当前会话有效。注意,是对当前会话,而不是当前的sql*plus窗口。即如果你这样修改之后,又使用connect命令以其他用户连接到数据库或者是连接到其他的数据库,则这个日期格式就失效了,又恢复到缺省的日期格式。
修改注册表。在注册表/hkey_local_machine/software/oracle/home0主键中增加一个字串(8i版本),字串名为nls_date_format,字串的值为你希望定义的时间格式,如: yyyy-mm-dd hh24:mi:ss ,然后重新启动。
Linux下:oracle用户编辑 加入以下内容:export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS ' 重新登录即可生效。
用sysdba登录。然后更新props$这个表里的字段即可。
2012-12-21
展开全部
to_date 是把 字符类型, 转换为 日期类型
至于你要在 sql plus 显示的话
通过 ALTER session SET nls_date_format 设置日期的显示格式
SQL> SELECT sysdate FROM DUAL;
SYSDATE
----------
21-12月-12
SQL> ALTER session SET nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。
SQL> SELECT sysdate FROM DUAL;
SYSDATE
-------------------
2012-12-21 09:53:36
至于你要在 sql plus 显示的话
通过 ALTER session SET nls_date_format 设置日期的显示格式
SQL> SELECT sysdate FROM DUAL;
SYSDATE
----------
21-12月-12
SQL> ALTER session SET nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。
SQL> SELECT sysdate FROM DUAL;
SYSDATE
-------------------
2012-12-21 09:53:36
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为11:25:59就是上午的时间啊
追问
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual 的结果为:2004-5-7 下午 01:23:44 而不是2004-05-07 13:23:44 上面的例子select to_date('2005-12-25 11:25:59','yyyy-mm-dd hh24:mi:ss') from dual正常的结果应该是2005-12-25 11:25:59啊,查的是24小时形式,显示的却是12小时形式
追答
那是你的数据库设置的是12小时指吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主到底想要什么结果呢?
日期的转化有两个函数:
to_date,比如select to_date('20121225 11:25:59','yyyymmdd hh24:mi:ss') from dual;查询结果为 2012/12/25 11:25:59
to_char,比如select to_char(sysdate,'yyyymmdd') from dual;
查询结果为20121221
日期的转化有两个函数:
to_date,比如select to_date('20121225 11:25:59','yyyymmdd hh24:mi:ss') from dual;查询结果为 2012/12/25 11:25:59
to_char,比如select to_char(sysdate,'yyyymmdd') from dual;
查询结果为20121221
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |