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;