CREATE TABLE available_models
(
  recno           NUMBER,
  car_make        VARCHAR2(30),
  car_model       VARCHAR2(30),
  start_time      TIMESTAMP,
  end_time        TIMESTAMP,
  PERIOD FOR model_valid_time 
     (start_time, end_time)
);

INSERT INTO available_models 
VALUES (1, 'Ford', 'Corsair', TO_DATE('1964-01','YYYY-MM'), TO_DATE('1970-01','YYYY-MM'));

INSERT INTO available_models 
VALUES (2, 'Ford', 'Country Squire', TO_DATE('1950-01','YYYY-MM'), TO_DATE('1992-01','YYYY-MM'));

INSERT INTO available_models 
VALUES (3, 'Ford', 'Executive', TO_DATE('1966-01','YYYY-MM'), TO_DATE('1972-01','YYYY-MM'));

COMMIT;

SELECT car_make,
       car_model,
       to_char(start_time,'yyyy-mm') STIME,
       to_char(end_time,'yyyy-mm') ETIME
FROM   available_models
AS OF PERIOD FOR model_valid_time TO_DATE('1968-01','yyyy-mm')
ORDER BY 4;

SELECT car_make,
       car_model,
       to_char(start_time,'yyyy-mm') STIME,
       to_char(end_time,'yyyy-mm') ETIME
FROM   available_models
AS OF PERIOD FOR model_valid_time TO_DATE('1971-01','yyyy-mm')
ORDER BY 4;

DROP TABLE available_models PURGE;

CREATE TABLE available_models
(
  recno             NUMBER,
  car_make          VARCHAR2(30),
  car_model         VARCHAR2(30)
);

ALTER TABLE available_models 
   ADD PERIOD FOR model_valid_time;

DESC available_models

SELECT recno, car_model,
       model_valid_time_START,
       model_valid_time_END
FROM   available_models;

INSERT INTO available_models 
   (recno, car_make, car_model, model_valid_time_START, model_valid_time_END)
VALUES (1, 'Ford', 'Corsair', TO_DATE('1964-01','YYYY-MM'), TO_DATE('1970-01','YYYY-MM'));

INSERT INTO available_models
   (recno, car_make, car_model, model_valid_time_START, model_valid_time_END) 
VALUES (2, 'Ford', 'Country Squire', TO_DATE('1950-01','YYYY-MM'), TO_DATE('1992-01','YYYY-MM'));

INSERT INTO available_models
   (recno, car_make, car_model, model_valid_time_START, model_valid_time_END) 
VALUES (3, 'Ford', 'Executive', TO_DATE('1966-01','YYYY-MM'), TO_DATE('1972-01','YYYY-MM'));

COMMIT;

SELECT car_make,
       car_model,
       to_char(model_valid_time_END,'yyyy-mm') ETIME
FROM   available_models
AS OF PERIOD FOR model_valid_time TO_DATE('1971-01','yyyy-mm')
ORDER BY 3;

-- Clean-Up

DROP TABLE available_models PURGE;