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 40537 게시물 읽기
No. 40537
PL/SQL 질문 있습니다.
작성자
신종민(calin0606)
작성일
2014-07-23 17:54
조회수
6,998

제가 지금 Developer을 설계 하고 있습니다.

 

저는 시작시간과 종료시간을 입력하고 버튼을 누르면

5분씩 증가하는걸 각각 출력 되게 하고 싶습니다.

 

예를들어

시작시간 10:00 분, 종료시간 10:20분 을 입력하고 버튼을 누르면 차례대로 5분씩 증가된 값들을

출력해야 하는데,

10:00

10:05

10:10

10:15

10:20

 

이런식으로 나와야 합니다.

 

그런데 시작시간을 10:00분 으로 하고, 종료시간을10:18분 으로 되었다면

 

10:00

10:05

10:10

10:15

하고

10:18 으로 종료시간은 무조건 나왔으면 합니다.

 

저렇게 다 나오게 하려면 어떻게 짜야 합니까?ㅜ

제발 고수님들 도와주세요ㅠㅠ

 

이 글에 대한 댓글이 총 4건 있습니다.

SELECT TO_CHAR(LEAST(stm + 1/24/60*(LEVEL-1)*5, etm), 'hh24:mi') tm
  FROM (SELECT TO_DATE('10:00', 'hh24:mi') stm
             , TO_DATE('10:18', 'hh24:mi') etm
          FROM dual)
 CONNECT BY LEVEL <= CEIL(ROUND((etm - stm)*24*60)/5)+1
;

마농(manon94)님이 2014-07-23 18:16에 작성한 댓글입니다.

SQL*Plus 에서 실행 시켰더니

에러나 나옵니다.

connect by loop in user data 라고 나옵니다.

 

왜 그러는 건가요?ㅠ

 

그리고 PL/SQL로 바꿀려면 어떻게 해야 하나요? 안되네요ㅜㅜ

신종민(calin0606)님이 2014-07-24 09:54에 작성한 댓글입니다.

-- 혹시 8i 쓰시나요?
-- Connect By Level < n 를 통한 행복제는 9i 부터 가능합니다.
-- 8i 에서는 임의의 다중row 테이블을 이용해 Rownum 으로 걸러내서 쓰세요.
SELECT TO_CHAR(LEAST(stm + 1/24/60*(ROWNUM-1)*5, etm), 'hh24:mi') tm
  FROM (SELECT TO_DATE('10:00', 'hh24:mi') stm
             , TO_DATE('10:18', 'hh24:mi') etm
          FROM dict)
 WHERE ROWNUM <= CEIL(ROUND((etm - stm)*24*60)/5)+1
;

마농(manon94)님이 2014-07-24 10:15에 작성한 댓글입니다.
이 댓글은 2014-07-24 10:15에 마지막으로 수정되었습니다.

앗! 감사합니다^^!!

신종민(calin0606)님이 2014-07-24 15:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40540차수 구하기 질문 드립니다. [2]
딸기쥬스
2014-07-26
7338
40539고수님들의 조언 부탁드립니다. [2]
일쌍다반사
2014-07-24
7518
40538PL/SQL 질문입니다.
김우빈
2014-07-24
6808
40537PL/SQL 질문 있습니다. [4]
신종민
2014-07-23
6998
40536쿼리 문의 드립니다. [1]
정기훈
2014-07-23
7241
40535connct by 상위 연결 문제 [1]
마당쇠
2014-07-23
7804
40534중복된 건 조회시 특정조건은 제외하고 한건만 조회하는법 [1]
김승유
2014-07-22
7236
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다