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!

Time Difference in Minutes for the Given Dates

IniyavanJul 31 2020 — edited Aug 1 2020

Hi friends,

We have a table as below:

   

EMP_NODAY_OF_WEEKFROM_TIMETO_TIME
1001009:0017:00
1001109:0017:00
1001209:0017:00
1001309:0017:00
1001409:0017:00
1001512:0017:00
1001600:0000:00

DAY_OF_WEEK: 0 - Monday, 1 - Tuesday,... 6 - Sunday

TIME columns: HH24:MI format

Need to calculate total available minutes for the given date range in SQL query. For example,

Case 1: From 27-Jul-2020 (Monday) to 02-Aug-2020 (Sunday), the employee 1001's total available hours should be 2700 (i.e., (8 hr * 5 days) + (5 hr * 1 day) = 2400 + 300 = 2700 minutes)

Case 2: From 27-Jul-2020 (Monday) to 28-Jul-2020 (Tuesday), the employee 1001's total available hours should be 960 (i.e., (8 hr * 2 days) =  960 minutes)

Help would be appreciated! Thanks in advance!

Table script:

CREATE TABLE emp_availablity

(

emp_no NUMBER(5),

day_of_week NUMBER(1),

from_time VARCHAR2(20),

to_time VARCHAR2(20)

);

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

values (1001,0,'09:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

VALUES (1001,1,'09:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

values (1001,2,'09:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

values (1001,3,'09:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

VALUES (1001,4,'09:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

values (1001,5,'12:00','17:00');

INSERT INTO emp_availablity (emp_no, day_of_week, from_time, to_time)

values (1001,6,'00:00','00:00');

SELECT * FROM emp_availablity order by day_of_week;

This post has been answered by Frank Kulash on Aug 1 2020
Jump to Answer
Comments
Post Details
Added on Jul 31 2020
10 comments
610 views