[Oracle] 오라클 초를 분, 시간, 일로 변환하는 방법
- 데이터베이스/오라클
- 2024. 8. 26.
오라클 SQL에서 초(second)를 분으로, 초를 시간으로, 초를 일로 변환하기 위해서는 기본 적인 산술연산을 사용하면 된다. 아래의 예제 쿼리문을 참고하면 쉽게 이해할 수 있을 것이다.
SELECT 86400 AS seconds --초
, FLOOR(86400 / 60) AS minutes --분
, FLOOR(86400 / (60*60)) AS hours --시간
, FLOOR(86400 / (24*60*60)) AS days --일
FROM dual
초를 분으로 변환 ( FLOOR(86400 / 60) ) :
1분은 60초이므로 초를 60으로 나누면 분으로 변환된다.
초를 시간으로 변환 ( FLOOR(86400 / (60*60)) ) :
1시간은 3600초(60분 * 60초)이므로 초를 3600으로 나누면 시간으로 변환된다.
초를 일로 변환 ( FLOOR(86400 / (24*60*60)) ) :
1일은 86400초(24시간 * 60분 * 60초)이므로 초를 86400으로 나누면 일로 변환된다.
위의 예제에서 FLOOR 함수는 소수점을 버리고 정수 부분만 출력하기 위해서 사용하였다.
응용 예제
SELECT SYSDATE
, TO_CHAR(SYSDATE, 'SSSSS') AS sssss
, FLOOR(TO_CHAR(SYSDATE, 'SSSSS') / 60) AS minutes
, FLOOR(TO_CHAR(SYSDATE, 'SSSSS') / (60*60)) AS hours
, TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'SSSSS'), 'SSSSS'), 'HH24:MI:SS') AS times
FROM dual
TO_CHAR 함수에서 'SSSSS' 형식은 자정(00:00:00)부터 현재 시각까지의 시간을 초 단위로 출력한다.
(0시부터 23시 38분 33초 까지는 85,113초이다)
반환된 초를 맨 위의 예제의 산술식을 활용하여 분, 시간 또는 초를 날짜 형식으로 변환할 수 있다.