create or replace function F_GENERATE_RND_DATE(
starting_date in Varchar2 Default to_char(Sysdate-30,'ddmmyyyy'),
ending_date in Varchar2 Default to_char(Sysdate,'ddmmyyyy')) return varchar2 Is
Result varchar2(17);
Begin
select to_char(to_date(
trunc(dbms_random.value(to_number(to_char(to_date(starting_date,'ddmmyyyy'),'J')),
to_number(to_char(to_date(ending_date,'ddmmyyyy'),'J')))),'J'
)+ dbms_random.value(0,86400)/86400,'ddmmyyyy HH24:mi:ss') as rand_date Into Result from dual;
return(Result);
End F_GENERATE_RND_DATE;