博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle的FIXED_DATE参数
阅读量:6542 次
发布时间:2019-06-24

本文共 1365 字,大约阅读时间需要 4 分钟。

今天发现一个有意思的问题,

我们知道,在Oracle数据库中正常执行 select sysdate from dual 都可以返回当前主机的系统时间。
正常修改系统时间,对应的查询结果也会变成修改后的系统时间。
现在遇到一个问题:测试系统修改了主机系统时间,数据库查询 select sysdate from dual 返回的时间和所在系统的主机时间相差很大,进一步排查发现返回的时间是固定不变的。
最终发现是Oracle有参数可以使得sysdate一直返回固定的时间,供某些测试场景使用。该库也是因为有其他测试人员设置了该参数,而其他测试人员不知道,产生了疑惑。

官方对这个参数的描述如下:

FIXED_DATE enables you to set a constant date that SYSDATE will always return instead of the current date. To undo a fixed date setting, specify FIXED_DATE=NONE. This parameter is useful primarily for testing. The value can be in the format shown above or in the default Oracle date format, without a time.

简单试验验证下,的确如此:

--1. 设定会话时间显示格式:SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';Session altered.--2. 查询sysdate值,是正常返回数据库所在主机的系统时间:SQL>SQL> select sysdate from dual;SYSDATE-------------------2017-03-31 10:16:10SQL> /SYSDATE-------------------2017-03-31 10:16:18--3. 设置fixed_date参数为固定一个值:SQL> alter system set fixed_date = '2017-04-01 12:00:00';System altered.--4. 再次查询发现sysdate时间为设置的值,且固定不变:SQL> select sysdate from dual;SYSDATE-------------------2017-04-01 12:00:00SQL> /SYSDATE-------------------2017-04-01 12:00:00--5. 设置fixed_date参数为none,使sysdate正常显示所在主机的系统时间:SQL> alter system set fixed_date = none;System altered.SQL> select sysdate from dual;SYSDATE-------------------2017-03-31 10:20:11SQL> /SYSDATE-------------------2017-03-31 10:20:14SQL>

转载地址:http://xjodo.baihongyu.com/

你可能感兴趣的文章
25款顶级的jQuery表格插件
查看>>
High-current supply uses standard three-terminal regulator
查看>>
IT项目技术建议书核心内容
查看>>
Sql Server系列:多表连接查询
查看>>
SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识...
查看>>
用c++封装linux系统调用
查看>>
java内部类
查看>>
Linux命令学习-grep
查看>>
PHP如何快速读取大文件
查看>>
mySql控制流程的函数
查看>>
简单查询和限定查询
查看>>
SQL Server调优系列进阶篇(查询语句运行几个指标值监测)
查看>>
胖client和瘦client
查看>>
局部创建对象(不正确发布:当好对象变坏时)
查看>>
getParameter
查看>>
osgi实战学习之路:8. Service-3之ServiceTracker
查看>>
DataGuard failover dg role自动切换模式测试
查看>>
Android -- ConditionVariable
查看>>
关于scope_identity()与 @@IDENTITY
查看>>
Java魔法堂:解读基于Type Erasure的泛型
查看>>