순차적 시간 계산쿼리 질문 0 2 460

by 띵똥 [2018.12.20 11:49:53]


SELECT '1' AS RNK
       ,TO_CHAR(TO_DATE('0900','HH24MI')+ 30/(24*60),'HH24MI') AS TIME
  FROM DUAL;

위의 0900은 변수입니다. 입력받은 값에따라 12~13시는 제외되고 30분씩 증가시키려고합니다.

아래와같이 union all 안하고 쉽게 할수 있는게 있을꺼같아 질문올립니다.
 
SELECT '1' AS RNK,
       '0900' AS TIME
  FROM DUAL
SELECT '2' AS RNK,
       '0930' AS TIME
  FROM DUAL
SELECT '3' AS RNK,
       '1000' AS TIME
  FROM DUAL 
SELECT '4' AS RNK,
       '1030' AS TIME
  FROM DUAL 
SELECT '5' AS RNK,
       '1100' AS TIME
  FROM DUAL 
SELECT '6' AS RNK,
       '1130' AS TIME
  FROM DUAL
SELECT '7' AS RNK,
       '1300' AS TIME
  FROM DUAL
SELECT '8' AS RNK,
       '1330' AS TIME
  FROM DUAL 
SELECT '9' AS RNK,
       '1400' AS TIME
  FROM DUAL 
SELECT '10' AS RNK,
       '1430' AS TIME
  FROM DUAL;

by 우리집아찌 [2018.12.20 13:10:53]
SELECT * 
  FROM  ( SELECT LEVEL AS RNK
                ,TO_CHAR(TO_DATE('0900','HH24MI')+ (30+30*(LEVEL-1))/(24*60) ,'HH24MI')  AS TIME
            FROM DUAL CONNECT BY LEVEL <= 30  )
 WHERE TIME NOT BETWEEN 1200 AND 1300       
          

 


by 마농 [2018.12.20 13:41:47]

12 시 ~ 13 시 제외 시간 조건 외에
입력 기준 시간 대비 언제까지 나와야 하는지에 대한 조건도 있을 것 같은데요?
10개 까지만 나오면 되는지? 아니면 정해진 시간까지 나와야 하는지?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입