Исходя из ваших примеров данных и комментариев, столбцы времени начала и окончания уже содержат информацию, которую вы ищете в части номинальной даты, поэтому вам не нужно делать ничего сложного, чтобы найти соседние записи и т. Д.
Вы можете просто использовать:
extract(day from starttime) as startdaynum
и
extract(day from endtime) as enddaynum
Демо:
with your_table (name, description, type, starttime, endtime, shecdhours, skillsandcerts, transfer, shiftcodeid, shiftsegmentid) as (
select '1009ABC', 'Pattern 1', 'Transfer', to_date('01/01/1900 05:00 am', 'MM/DD/YYYY HH:MI am'), to_date('01/01/1900 01:30 pm', 'MM/DD/YYYY HH:MI am'), 8.5, null, '///800505///', 3050, 4052 from dual
union all
select '1009ABC', 'Pattern 1', 'Transfer', to_date('01/01/1900 01:30 pm', 'MM/DD/YYYY HH:MI am'), to_date('01/01/1900 02:30 pm', 'MM/DD/YYYY HH:MI am'), 1, null, '///800855///', 3050, 4053 from dual
union all
select '1009XYZ', 'Pattern 2', 'Transfer', to_date('01/01/1900 05:00 pm', 'MM/DD/YYYY HH:MI am'), to_date('01/02/1900 01:30 am', 'MM/DD/YYYY HH:MI am'), 8.5, null, '///800505///', 3070, 4072 from dual
union all
select '1009XYZ', 'Pattern 2', 'Transfer', to_date('01/02/1900 01:30 am', 'MM/DD/YYYY HH:MI am'), to_date('01/02/1900 02:30 am', 'MM/DD/YYYY HH:MI am'), 1, null, '///800855///', 3070, 4073 from dual
)
select name,
description,
extract(day from starttime) as startdaynum,
to_char(starttime, 'HH:MI am') as starttime,
extract(day from endtime) as enddaynum,
to_char(endtime, 'HH:MI am') as endtime,
shecdhours,
skillsandcerts,
transfer,
shiftcodeid,
shiftsegmentid
from your_table;
NAME DESCRIPTI STARTDAYNUM STARTTIM ENDDAYNUM ENDTIME SHECDHOURS SKILLSANDCERTS TRANSFER SHIFTCODEID SHIFTSEGMENTID
------- --------- ----------- -------- ---------- -------- ---------- -------------- ------------ ----------- --------------
1009ABC Pattern 1 1 05:00 AM 1 01:30 PM 8.5 ///800505/// 3050 4052
1009ABC Pattern 1 1 01:30 PM 1 02:30 PM 1 ///800855/// 3050 4053
1009XYZ Pattern 2 1 05:00 PM 2 01:30 AM 8.5 ///800505/// 3070 4072
1009XYZ Pattern 2 2 01:30 AM 2 02:30 AM 1 ///800855/// 3070 4073