database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41687 게시물 읽기
No. 41687
날짜구간의 시간구하기
작성자
블루이글
작성일
2019-01-30 13:18
조회수
2,818

안녕하세요.. 날짜구간의 시간을 구하고 싶습니다...

 

시작일시 : 2019.01.20 09:10:10

종료일시 : 2019.01.21 11:10:10

 

 

결과

 

2019.01.20 09~10

2019.01.20 10~11

2019.01.20 11~12

2019.01.20 12~13

.

.

.

2019.01.21 11~12

 

이렇게 구할수 있을까요???

 

이 글에 대한 댓글이 총 3건 있습니다.
SELECT TO_CHAR(DayHour, 'YYYY.MM.DD HH24')||'~'||TO_CHAR(DayHour+1/24, 'HH24') TermDayHour
FROM (
    SELECT FromTime+LEVEL/24-1 DayHour
    FROM (
        SELECT TO_DATE('2019.01.20 09:10:10', 'YYYY.MM.DD HH24:MI:SS') FromTime, TO_DATE('2019.01.21 11:10:10', 'YYYY.MM.DD HH24:MI:SS') ToTime
        FROM DUAL
    )
    CONNECT BY FromTime+LEVEL/24-1 <= ToTime
)    
박인호(paerae)님이 2019-01-30 14:55에 작성한 댓글입니다.

박인호님
샘플의 시작시간과 종료시간의 분초가 동일한데. 10:10
시작시간의 분초가 종료시간의 분초보다 크면 마지막 1시간이 누락되게 됩니다.
예) 시작분초 10:11, 종료분초 10:10 일 경우 마지막 1시간이 누락


SELECT TO_CHAR(sdt + (LEVEL-1)/24, 'yyyy.mm.dd hh24~')
     || TO_CHAR(sdt + (LEVEL-0)/24, 'hh24') dt
  FROM (SELECT TO_DATE('2019.01.20 09:10:11', 'yyyy.mm.dd hh24:mi:ss') sdt
             , TO_DATE('2019.01.21 11:10:10', 'yyyy.mm.dd hh24:mi:ss') edt
          FROM dual
        )
 CONNECT BY LEVEL <= ROUND((TRUNC(edt, 'hh') - TRUNC(sdt, 'hh')) * 24 + 1)
;

마농(manon94)님이 2019-01-30 17:02에 작성한 댓글입니다.

 그렇군요 ^^

경우의 수를 모두 체크를 하지 않으면 

늘 어딘가에서 펑크가 ...

감사합니다.

박인호(paerae)님이 2019-01-31 09:19에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41692년월별 데이타를 구하는 문제입니다. [2]
밤하늘
2019-02-16
2504
41689궁금합니다. [2]
hsn
2019-02-11
2406
41688정수끼리 나눌때 소숫점 얻는방법 [2]
조경현
2019-01-30
2496
41687날짜구간의 시간구하기 [3]
블루이글
2019-01-30
2818
41686rman 에서 아카이브 5개만 남기고 삭제하기..
허겅스
2019-01-26
2339
41684where절에 조건문으로 비교연산자를 사용하고싶습니다. [2]
도토리
2019-01-23
2982
41683오라클11과 오라클 12 [2]
신승익
2019-01-23
2933
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다