데이터베이스/오라클

[Oracle] 오라클 초를 분, 시간, 일로 변환하는 방법

젠트 2024. 8. 26. 00:16

오라클 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초이다)

반환된 초를 맨 위의 예제의 산술식을 활용하여 분, 시간 또는 초를 날짜 형식으로 변환할  수 있다.

 

 

[Oracle] 오라클 두 날짜 사이 일수 계산 (일, 시, 분 표시)

오라클 SQL에서 두 날짜 사이의 차이를 계산할 때는 빼기(-) 연산자를 사용하여 두 날짜를 빼 주면 된다. 날짜에 시간이 포함되어 있다면 소수점이 포함된 일수로 반환될 수 있으므로 주의해야 한

gent.tistory.com

 

[Oracle] 오라클 날짜, 시간 차이 계산 방법 (DATEDIFF)

오라클에서 날짜 및 시간의 차이를 계산하기 위해서는 수치를 계산하듯 종료일자에서 시작일자를 빼주면 된다. MSSQL에서는 DATEDIFF 함수를 사용하지만 오라클에서는 별도의 함수는 없다. 날짜 차

gent.tistory.com

 

[Oracle] 오라클 시간, 분, 초 더하기 빼기 (INTERVAL)

오라클 날짜타입의 값에서 시간을 빼거나 더하기 위해서는, 기본으로 제공해주는 오라클 함수가 없기 때문에 별도의 연산작업을 해줘야 한다. 시간, 분, 초를 더하기나 빼기 위해서는 일반적으

gent.tistory.com