C/C++教程

How to change Oracle sysdate?

本文主要是介绍How to change Oracle sysdate?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Introduction

In this article, we will show a method to change sysdate on the Oracle database. Although sysdate holds the current date from the operating system on which the database has been installed, there is a way to change it on the database level by setting special FIXED_DATE parameter. That feature should be extremely useful for testing purposes.

FIXED_DATE parameter

FIXED_DATE enables you to set a constant date that will be returned by SYSDATE command instead of the current system date.

Property Description
Parameter type String
Syntax `FIXED_DATE = YYYY-MM-DD-HH24:MI:SS (or the default Oracle date format)
Default value There is no default value.
Modifiable ALTER SYSTEM
Basic No

Altering FIXED_DATE queries used the following syntax:

CopyALTER SYSTEM SET FIXED_DATE = [YYYY-MM-DD-HH24:MI:SS (or the default Oracle date format) | NONE]

To reset fixed date setting use FIXED_DATE=NONE like in the following SQL:

CopyALTER SYSTEM SET FIXED_DATE=NONE

Example

In the following example we will set a constant Oracle SYSDATE with 2019-06-06-12:00:00 value:

CopyALTER SYSTEM SET FIXED_DATE=2019-06-06-12:00:00';

From now on every query which use SYSDATE will return provided date:

CopySELECT TO_CHAR(SYSDATE, 'DD-MM-YYYY') FROM DUAL;

Result:

TO_CHAR(SYSDATE,'DD-MM-YYYY')
06-06-2019

Conclusion

The FIXED_DATE parameter is useful mainly for testing. We can use the default Oracle date format to set a constant date that will be returned in every SQL query that uses SYSDATE command. Just keep in mind that FIXED_DATE will be fixed forever until we undo that setting using FIXED_DATE=NONE command.

这篇关于How to change Oracle sysdate?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!