같은 날 겹치는 이벤트 검색하기
SELECT B.RENT_REASON , B.RENT_START , B.RENT_END , A.BDATE FROM
(SELECT TO_DATE('20151120') AS BDATE FROM DUAL) A ,
(SELECT
RENT_REASON,
TO_DATE(SUBSTR((RENT_START),1,10 )||' '|| SUBSTR((RENT_START),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_START,
TO_DATE(SUBSTR((RENT_END),1,10 )||' '|| SUBSTR((RENT_END),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_END
FROM RENT) B
WHERE A.BDATE BETWEEN RENT_START AND RENT_END
--- 결과 -----
회의실12 15/11/14 15/11/30 15/11/20
회의실 15/11/03 15/11/20 15/11/20
기간별 겹치는 이벤트 검색하기
SELECT B.RENT_NUM , B.RENT_REASON ,B.RENT_START, B.RENT_END , A.BDATE FROM
(SELECT TO_DATE('20151101') + (LEVEL-1) AS BDATE FROM DUAL CONNECT BY LEVEL <= (TO_DATE('20151130') - TO_DATE('20151101')) +1) A ,
(SELECT
RENT_NUM ,
RENT_REASON,
TO_DATE(SUBSTR((RENT_START),1,10 )||' '|| SUBSTR((RENT_START),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_START,
TO_DATE(SUBSTR((RENT_END),1,10 )||' '|| SUBSTR((RENT_END),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_END
FROM RENT) B
WHERE A.BDATE
BETWEEN RENT_START
AND RENT_END
ORDER BY A.BDATE
;
------------- 결과 --------------------
39 회의실 15/11/03 15/11/20 15/11/04
39 회의실 15/11/03 15/11/20 15/11/05
39 회의실 15/11/03 15/11/20 15/11/06
39 회의실 15/11/03 15/11/20 15/11/07
39 회의실 15/11/03 15/11/20 15/11/08
39 회의실 15/11/03 15/11/20 15/11/09
39 회의실 15/11/03 15/11/20 15/11/10
39 회의실 15/11/03 15/11/20 15/11/11
39 회의실 15/11/03 15/11/20 15/11/12
39 회의실 15/11/03 15/11/20 15/11/13
39 회의실 15/11/03 15/11/20 15/11/14
39 회의실 15/11/03 15/11/20 15/11/15
38 회의실12 15/11/14 15/11/30 15/11/15
39 회의실 15/11/03 15/11/20 15/11/16
38 회의실12 15/11/14 15/11/30 15/11/16
39 회의실 15/11/03 15/11/20 15/11/17
38 회의실12 15/11/14 15/11/30 15/11/17
39 회의실 15/11/03 15/11/20 15/11/18
38 회의실12 15/11/14 15/11/30 15/11/18
39 회의실 15/11/03 15/11/20 15/11/19
38 회의실12 15/11/14 15/11/30 15/11/19
39 회의실 15/11/03 15/11/20 15/11/20
38 회의실12 15/11/14 15/11/30 15/11/20
38 회의실12 15/11/14 15/11/30 15/11/21
38 회의실12 15/11/14 15/11/30 15/11/22
38 회의실12 15/11/14 15/11/30 15/11/23
38 회의실12 15/11/14 15/11/30 15/11/24
38 회의실12 15/11/14 15/11/30 15/11/25
38 회의실12 15/11/14 15/11/30 15/11/26
38 회의실12 15/11/14 15/11/30 15/11/27
38 회의실12 15/11/14 15/11/30 15/11/28
38 회의실12 15/11/14 15/11/30 15/11/29
38 회의실12 15/11/14 15/11/30 15/11/30
----------------------------- 특정 기간에 있는 모든 이벤트 검색 ---------------------------------
SELECT DISTINCT B.RENT_NUM FROM
(SELECT TO_DATE('20151101') + (LEVEL-1) AS BDATE FROM DUAL CONNECT BY LEVEL <= (TO_DATE('20151130') - TO_DATE('20151101')) +1) A ,
(SELECT
RENT_NUM ,
RENT_REASON,
TO_DATE(SUBSTR((RENT_START),1,10 )||' '|| SUBSTR((RENT_START),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_START,
TO_DATE(SUBSTR((RENT_END),1,10 )||' '|| SUBSTR((RENT_END),12,6 ) , 'YYYY-MM-DD HH12:MISS' ) AS RENT_END
FROM RENT) B
WHERE A.BDATE
BETWEEN RENT_START
AND RENT_END
;
---- 결과 ----
이벤트 넘버
38
39