گاهی ممکن است برای انجام دادن تستی در اوراکل، نیاز باشد تا برای مدتی تابع sysdate مقدار ثابتی را برگرداند برای این منظور می توان از پارامتر fixed_date استفاده کرد.
این پارامتر که مقدار پیش فرض ان برابر با none می باشد، با فرمتی که برای پارامتر NLS_DATE_FORMAT تعیین شده است، مقدار می گیرد.
فرمت پیش فرض به صورت زیر می باشد:
alter system set fixed_date=[YYYY-MM-DD-HH24:MI:SS]
مثال:
ALTER SYSTEM SET FIXED_DATE=’2018-01-01-12:05:24′;
با اجرای دستور بالا، sysdate همواره مقدار ثابتی را برمی گرداند ولی مقادیر برگشتی SYSTIMESTAMP و CURRENT_DATE کماکان تاریخ و ساعت واقعی سیستم را نشان خواهند داد:
select sysdate,CURRENT_DATE,SYSTIMESTAMP from dual;
SYSDATE CURRENT_D SYSTIMESTAMP
———- ———- ——————————————
19-APR-18 19-APR-18 19-APR-18 10.54.13.513698 AM -04:00
برای برگرداندن این تنظیمات، می توان مجددا این پارامتر را به مقدار none تغییر داد:
ALTER SYSTEM SET FIXED_DATE=NONE;