Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to check if a range of dates is available ?

Christian Pitet 2Mar 18 2025 — edited Mar 18 2025

Hi,

Under Oracle 19c, I have a table VE_RESERVATION which stores the dates of of booking (reservation) of a camping. I want to check if a range of dates is available (not booked). The column DATE_RESERVATION is the begining of the range. The column DATE_FIN_RESERVATION is the end of the date range. I would like the sql command returns no lines if a range of date is available. If a range of dates is not available, it shoud return 1.

Here are the create table and insert statements example.

CREATE TABLE VE_RESERVATION (
   ID    INT,
   PLACES_DISPONIBLES    VARCHAR(512),
   NOM    VARCHAR(512),
   PRENOM    VARCHAR(512),
   COURRIEL    VARCHAR(512),
   TELEPHONE    INT,
   DATE_RESERVATION    VARCHAR(512),
   NUITES    INT,
   NOMBRE_ADULTES    VARCHAR(512),
   NOMBRE_ENFANTS    VARCHAR(512),
   COMMENTAIRES    VARCHAR(512),
   NOMBRE_ANIMAUX    VARCHAR(512),
   HEBERGEMENT    VARCHAR(512),
   NOM_UTILISATEUR    VARCHAR(512),
   USER_NAME    VARCHAR(512),
   DATE_FIN_RESERVATION    VARCHAR(512),
   ADRESSE    VARCHAR(512)
);

Inserts :

INSERT INTO VE_RESERVATION
(ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('8', '', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '', '', '', '', '', '', '', '', 'PITET', '', '4, avenue Jean Mermoz');
INSERT INTO VE_RESERVATION (ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('4', '', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '01/03/25', '10', '', '', '', '', '', '', 'PITET', '11/03/25', '');
INSERT INTO VE_RESERVATION (ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('5', '-4', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '17/03/25', '2', '', '', '', '', '', '', 'PITET', '19/03/25', '');
INSERT INTO VE_RESERVATION (ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('9', '0', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '', '3', '', '', '', '', '', '', 'PITET', '', '4, avenue Jean Mermoz');
INSERT INTO VE_RESERVATION (ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('7', '', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '17/03/25', '3', '', '', '', '', '', '', 'PITET', '19/03/25', '');
INSERT INTO VE_RESERVATION (ID, PLACES_DISPONIBLES, NOM, PRENOM, COURRIEL, TELEPHONE, DATE_RESERVATION, NUITES, NOMBRE_ADULTES, NOMBRE_ENFANTS, COMMENTAIRES, NOMBRE_ANIMAUX, HEBERGEMENT, NOM_UTILISATEUR, USER_NAME, DATE_FIN_RESERVATION, ADRESSE) VALUES ('6', '', 'PITET', 'CHRISTIAN', 'cpitet@gmail.com', '0671642779', '17/03/25', '10', '', '', '', '', '', '', 'PITET', '19/03/25', '');

Best regards.

Comments
Post Details
Added on Mar 18 2025
1 comment
238 views