오라클 데이터베이스에서 분 단위를 추가하여 조회하는 방법을 안내해 드리겠습니다. 이밖에도 좋은 아이디어가 있을 수 있답니다. 😘 예제 자료는 저의 필요에 의해 분 단위만 추가하였는데 응용하여 초, 분, 시 모두 가능합니다.
INTERVAL
인터벌로 구하는 방법입니다. INTERVAL '1' MINUTE을 원하는 분 단위만큼 더하거나 빼는 방법입니다.
SELECT TO_DATE ('20230131'),
TO_DATE ('20230131') + :MINUTES * INTERVAL '1' MINUTE
FROM DUAL;
--EXEC :MINUTES := '100';
TO_DATE ('20230131') TO_DATE ('20230131') + NUMTODSINTERVAL (:MINUTES, 'MINUTE')
-------------------- -----------------------------------------------------------
2023-01-31 2023-01-31 오전 1:40:00
NUMTODSINTERVAL
NUMTODSINTERVAL 함수는 NUM TO DS INTERVAL을 뜻하며, 각각 NUM은 NUMBER, TO는 문자 그대로 TO, DS는 DAY TO SECOND, INTERVAL은 문자 그대로 INTERVAL을 뜻합니다. 함수 형태로 제공하기에 PL/SQL에서 사용할 때에 상기의 INTERVAL 대신 사용하기에 편합니다. INTERVAL을 사용하려면 N에 해당하는 값을 조회하기 위해 다이내믹 쿼리 등을 활용해야 하기 때문입니다.
사용예제는 다음과 같습니다. 날짜 변수에 NUMTODSINTERVAL 및 숫자와 단위를 입력해 주세요.
인터벌 유닛은 다음과 같습니다.
- 'DAY'
- 'HOUR'
- 'MINUTE'
- 'SECOND'
SELECT TO_DATE ('20230131'),
TO_DATE ('20230131') + NUMTODSINTERVAL (:MINUTES, 'MINUTE')
FROM DUAL;
--EXEC :MINUTES := '100';
TO_DATE ('20230131') TO_DATE ('20230131') + NUMTODSINTERVAL (:MINUTES, 'MINUTE')
-------------------- -----------------------------------------------------------
2023-01-31 2023-01-31 오전 1:40:00