oracle时间戳设置

设置了时间戳,为什么不是24小时机制的,是12小时机制的,如何修改成24小时机制的呢?... 设置了时间戳,为什么不是24小时机制的,是12小时机制的,如何修改成24小时机制的呢? 展开
 我来答
韩福洁
2018-12-12 · TA获得超过623个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:61.6万
展开全部

这个和数据库安装配御的时候选择的时区有关,一般国内安装都是选择北京时区。

查看timestamp
select current_timestamp,systimestamp from dual;
current_timestamp                         systimestamp
12-12月-18 04.24.02.427990 下午 +08:00    12-12月-18 04.24.02.427980 下午 +08:00
查看时区
select dbtimezone,sessiontimezone from dual; 
dbtimezone    sessiontimezone
+00:00        +08:00

对于显示是12小时制这个问题,和客户端的操作系统有关,与实际存储的数据无关。

如果想显示成24小时制,修改客户端操作侍卖激系统的环境变量可以达到目的:

NLS_TIMESTAMP_FORMAT
YYYY-MM-DD HH24:MI:SS:FF6

按照上图设置后,重启plsql,查询后我们能看到时间显示成“2018-12-12 16:16:35:877000”这样的格式了。 

但是,如果建库时,时间设置错误或者是将来要改变时区时,表中的值会不会变化呢?因此引用官方的回答:

对于time zone数据类型的数据,即使你更新了数据库时区,原数据也不会进行对应调整,只能你导出数据,然后调整数据库时区,再把原始数据导入即可。所以,一般情况下,一定不要调整数据库时区。官方建议数据库时间采用UTC,因为这种时区性能好。如果没有显式指定数据库时区,数据库会使用操作系统的时区,但是如果操作系统时区不是一个合理的数据库时区,数据库则老袜会使用默认的时区UTC,且UTC的取值范围为-12:00 to +14:00。等等,为什么会有+14?百度一下基里巴斯。这是一个神奇的网站国度。

来自:求助得到的回答
西南草地多情c
2018-11-29
知道答主
回答量:63
采纳率:20%
帮助的人:13.6万
展开全部
回乡偶书(贺知章)
追问
????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式