I'm unsure exactly what you're trying to do here. Using INTERVAL types is probably a good start though:
declare
v_range_of_time interval year to month;
v_output date;
begin
v_range_of_time := interval '13' month;
dbms_output.put_line('Range_of_time: '||v_RANGE_OF_TIME) ;
select sysdate - v_range_of_time into v_output from dual ;
dbms_output.put_line('Result: '||v_output) ;
end;
/
Range_of_time: +01-01
Result: 20-OCT-2022 13:26
Or you can use NUMTOYMINTERVAL similar to how Connor shows above.