[20200121]CURRENT_TIMESTAMP LOCALTIMESTAMP SYSTIMESTAMP的不同.TXT --//别人的问题,实际上我自己也不知道: --//我的环境定义如下: $ set | grep NLS NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' NLS_LANG=AMERICAN_AMERICA.ZHS16GBK NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9' NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM' NLS_TIME_TZ_FORMAT='HH24.MI.SSXFF TZH:TZM' 1.环境: SCOTT@book> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 2.测试: SCOTT@book> select current_timestamp ,systimestamp from dual ; CURRENT_TIMESTAMP SYSTIMESTAMP ------------------------------------ ------------------------------------ 2020-01-21 09:01:43.030480000 +08:00 2020-01-21 09:01:43.030475000 +08:00 SCOTT@book> select current_timestamp ,systimestamp,current_timestamp from dual ; CURRENT_TIMESTAMP SYSTIMESTAMP CURRENT_TIMESTAMP ------------------------------------ ------------------------------------ ------------------------------------ 2020-01-21 09:01:50.968273000 +08:00 2020-01-21 09:01:50.968265000 +08:00 2020-01-21 09:01:50.968273000 +08:00 --//不知道大家注意没有,最后一个字段先执行,看秒后面数值。(030475000<030480000) --//而第2次执行,先执行第3个字段的current_timestamp,但是第1个current_timestamp数值从第3个输出值一致。 --//两个都带有时区,很明显格式使用NLS_TIMESTAMP_TZ_FORMAT的定义。 --//链接:https://community.oracle.com/thread/1009877 SYSTIMESTAMP returns the system date, including fractional seconds and time zone, of the system on which the database resides. The return type is TIMESTAMP WITH TIME ZONE. CURRENT_TIMESTAMP returns the current date and time in the session time zone, in a value of data type TIMESTAMP WITH TIME ZONE. The time zone offset reflects the current local time of the SQL session. If you omit precision, then the default is 6. The difference between this function and LOCALTIMESTAMP is that CURRENT_TIMESTAMP returns a TIMESTAMP WITH TIME ZONE value while LOCALTIMESTAMP returns a TIMESTAMP value. SCOTT@book> select current_timestamp ,systimestamp,localtimestamp from dual ; CURRENT_TIMESTAMP SYSTIMESTAMP LOCALTIMESTAMP ------------------------------------- ------------------------------------ ----------------------------- 2020-01-21 09:07:52.129754000 +08:00 2020-01-21 09:07:52.129747000 +08:00 2020-01-21 09:07:52.129754000 SCOTT@book> select localtimestamp,systimestamp,current_timestamp from dual ; LOCALTIMESTAMP SYSTIMESTAMP CURRENT_TIMESTAMP ----------------------------- ------------------------------------ ------------------------------------ 2020-01-21 09:12:36.765938000 2020-01-21 09:12:36.765932000 +08:00 2020-01-21 09:12:36.765938000 +08:00 --//LOCALTIMESTAMP的格式受NLS_TIMESTAMP_FORMAT控制。 --//LOCALTIMESTAMP 的输出与CURRENT_TIMESTAMP的输出一样(不包括时区部分,当前客户时区与服务器一致),也就是运算仅仅1次。 --//设置时区不一致看看。 SCOTT@book> alter session set time_zone='+0:00'; Session altered. SCOTT@book> select localtimestamp,systimestamp,current_timestamp from dual ; LOCALTIMESTAMP SYSTIMESTAMP CURRENT_TIMESTAMP ----------------------------- ------------------------------------ ------------------------------------ 2020-01-21 01:17:05.667409000 2020-01-21 09:17:05.667403000 +08:00 2020-01-21 01:17:05.667409000 +00:00 --//注意看秒后面的数值,CURRENT_TIMESTAMP与LOCALTIMESTAMP存在转换。一些细节自己慢慢体会。 --//注意一定注意要设置带时区与不带时区的格式,这样看数据库一些时间信息才比较准确。 --//我自己在上面犯过一些错误。像链接http://blog.itpub.net/267265/viewspace-2152520/,如果不带时区显示,很容易出现歧义性。 NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9' NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM' --//可以不要后面9。FF9改成FF,这样秒后面仅仅6位小数点,自己就是这样设置的,为了测试设置FF9。
[20200121]CURRENT_TIMESTAMP LOCALTIMESTAMP SYSTIMESTAMP的不同.TXT
来源:这里教程网
时间:2026-03-03 14:53:19
作者:
编辑推荐:
- [20200121]CURRENT_TIMESTAMP LOCALTIMESTAMP SYSTIMESTAMP的不同.TXT03-03
- Oracle listener log配置与管理03-03
- 正常终止expdp作业03-03
- Oracle 11g升级到12C03-03
- vscode修改注解颜色03-03
- ASM集群文件系统ACFS(ASM Cluster File System)03-03
- Oracle 12c ORA-29548 报错处理03-03
- ORA-01195: online backup of file 1 needs more recovery to be consistent03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 11g升级到12C
Oracle 11g升级到12C
26-03-03 - ASM集群文件系统ACFS(ASM Cluster File System)
- ORA-01195: online backup of file 1 needs more recovery to be consistent
- SharePlex安装配置、常用功能配置文档、常见故障处理文档
SharePlex安装配置、常用功能配置文档、常见故障处理文档
26-03-03 - Oracle 12c nocdb转换成cdb
Oracle 12c nocdb转换成cdb
26-03-03 - parameter table management,11.2.0.4 Bug 20564072
- 如果你的系统需要在一张很大的表上创建一个索引,你会考虑哪些因素?
如果你的系统需要在一张很大的表上创建一个索引,你会考虑哪些因素?
26-03-03 - oracle 12c 新增的LREG进程及其动态注册的过程
oracle 12c 新增的LREG进程及其动态注册的过程
26-03-03 - Bad check value found during backing up datafileBad check value found during bac
- 体系_表空间和数据文件的管理
体系_表空间和数据文件的管理
26-03-03
