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

오라클 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

 

 

댓글

Designed by JB FACTORY