안녕하세요
지난번에 문의 드렸던것인데요
시작시간과 종료시간을 주면
각 동영상이 플레이 되야 합니다.
시간별로 기록된 동영상인데 동영상을 로드할려면 파라메터가 추가적으로 더 필요해서 문의 드립니다.
start_time duration 이 표시되어야 합니다.
WITH t AS (
select 1 rn , TO_DATE('2014-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS') st_dt ,TO_DATE('2014-01-01 00:55:00','YYYY-MM-DD HH24:MI:SS') ed_dt from dual union all
select 2 , TO_DATE('2014-01-01 00:55:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 01:40:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 3 , TO_DATE('2014-01-01 01:40:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 02:25:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 4 , TO_DATE('2014-01-01 02:25:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 02:55:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 5 , TO_DATE('2014-01-01 02:55:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 03:45:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 6 , TO_DATE('2014-01-01 03:45:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 04:30:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 7 , TO_DATE('2014-01-01 04:30:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 04:50:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 8 , TO_DATE('2014-01-01 04:50:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 05:15:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 9 , TO_DATE('2014-01-01 05:15:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 06:10:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 10 , TO_DATE('2014-01-01 06:10:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 06:30:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 11 , TO_DATE('2014-01-01 06:30:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 07:15:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 12 , TO_DATE('2014-01-01 07:15:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 08:00:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 13 , TO_DATE('2014-01-01 08:00:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 09:00:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 14 , TO_DATE('2014-01-01 09:00:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 09:55:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 15 , TO_DATE('2014-01-01 09:55:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 10:25:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 16 , TO_DATE('2014-01-01 10:25:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 11:15:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 17 , TO_DATE('2014-01-01 11:15:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 12:20:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 18 , TO_DATE('2014-01-01 12:20:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 13:15:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 19 , TO_DATE('2014-01-01 13:15:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 13:35:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 20 , TO_DATE('2014-01-01 13:35:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 14:20:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 21 , TO_DATE('2014-01-01 14:20:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 15:45:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 22 , TO_DATE('2014-01-01 15:45:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 16:10:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 23 , TO_DATE('2014-01-01 16:10:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 17:10:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 24 , TO_DATE('2014-01-01 17:10:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 18:00:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 25 , TO_DATE('2014-01-01 18:00:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 22:00:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 26 , TO_DATE('2014-01-01 22:00:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 22:50:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 27 , TO_DATE('2014-01-01 22:50:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-01 23:20:00','YYYY-MM-DD HH24:MI:SS') from dual union all
select 28 , TO_DATE('2014-01-01 23:20:00','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-01-02 00:05:00','YYYY-MM-DD HH24:MI:SS') from dual
)
SELECT a.rn
, GREATEST(a.st_dt, b.sdt) sdt
, LEAST (a.ed_dt, b.edt) edt
, ROUND(CASE WHEN b.sdt > a.st_dt THEN b.sdt - a.st_dt
WHEN b.edt < a.ed_dt THEN a.ed_dt - b.edt
ELSE 0 END * 24 * 60) x
FROM t a
, (SELECT TO_DATE('2014-01-01 08:20:00', 'yyyy-mm-dd hh24:mi:ss') sdt
, TO_DATE('2014-01-01 10:10:00', 'yyyy-mm-dd hh24:mi:ss') edt
FROM dual
) b
WHERE a.st_dt < b.edt
AND a.ed_dt > b.sdt
;
다음과 같은 식으로 가능할까요?
번호 |
동영상시작(st_dt) |
동영상 종료(ed_dt) |
시작시간 |
종료시간 |
시작 |
길이 |
13 |
2014-01-01 오전 8:00:00 |
2014-01-01 오전 9:00:00 |
2014-01-01 오전 8:20:00 |
2014-01-01 오전 9:00:00 |
00:20:00 |
00:40:00 |
14 |
2014-01-01 오전 9:00:00 |
2014-01-01 오전 9:55:00 |
2014-01-01 오전 9:00:00 |
2014-01-01 오전 9:55:00 |
|
|
15 |
2014-01-01 오전 9:55:00 |
2014-01-01 오전 10:25:00 |
2014-01-01 오전 9:55:00 |
2014-01-01 오전 10:10:00 |
00:00:00 |
00:15:00 |
감사합니다.
|