행위

"오라클 시간계산"의 두 판 사이의 차이

DB CAFE

(틀:고지상자)
1번째 줄: 1번째 줄:
=== 틀:고지상자 ===
+
== 시간계산 ==
 
{{틀:고지상자
 
{{틀:고지상자
 
|제목 = 일자/시간/분/초 계산  
 
|제목 = 일자/시간/분/초 계산  
14번째 줄: 14번째 줄:
  
  
##시간 계산
+
=== 시간 계산 ===
 
<source lang=sql>
 
<source lang=sql>
 
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
 
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
47번째 줄: 47번째 줄:
 
</source>
 
</source>
  
##소요시간
+
==== 소요시간 ====
 
* to_date() * 24 * 60 * 60 = 초 (계산된값)  
 
* to_date() * 24 * 60 * 60 = 초 (계산된값)  
  

2021년 4월 17일 (토) 15:51 판

thumb_up 추천메뉴 바로가기


1 시간계산[편집]

일자 계산 = DateTime - 1 = 1일 전 (예: 5일 전 = DateTime - 5)

시간 계산 = DateTime - 1/24 = 1시간 전 [24 = 24시간] (예: 5시간 전 = DateTime - 5/24)

분 계산 = DateTime - 1/(24*60) = 1분 전 [24 = 24시간, 60 = 60분] (예: 5분 전 = DateTime - 5/(24*60))

초 계산 = DateTime - 1/(24*60*60) = 1초 전 [24 = 24시간, 60 = 60분, 60 = 60초] (예: 5초 전 = DateTime - 5/(24*60*60))




1.1 시간 계산[편집]

SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT '   1일 전 : ' || TO_CHAR(SYSDATE - 1, 'yyyymmdd hh24:mi:ss') FROM DUAL
UNION ALL
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT '   5일 전 : ' || TO_CHAR(SYSDATE - 5, 'yyyymmdd hh24:mi:ss') FROM DUAL
UNION ALL
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT ' 1시간 전 : ' || TO_CHAR(SYSDATE - 1/24, 'yyyymmdd hh24:mi:ss') FROM DUAL
UNION ALL
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT ' 5시간 전 : ' || TO_CHAR(SYSDATE - 5/24, 'yyyymmdd hh24:mi:ss') FROM DUAL
UNION ALL
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT '   1분 전 : ' || TO_CHAR(SYSDATE - 1/(24*60), 'yyyymmdd hh24:mi:ss') FROM DUAL
UNION ALL
SELECT '현재 시각 : ' || TO_CHAR(SYSDATE, 'yyyymmdd hh24:mi:ss') AS "D,T,M,S 계산하기"
FROM DUAL
UNION ALL
SELECT '   5분 전 : ' || TO_CHAR(SYSDATE - 5/(24*60), 'yyyymmdd hh24:mi:ss') FROM DUAL;

1.1.1 소요시간[편집]

  • to_date() * 24 * 60 * 60 = 초 (계산된값)
-- 해당쿼리가 실행 소요시간 조회 
SELECT min(first_refresh_time)
     , max(last_refresh_time) 
     , (to_date(to_char(max(last_refresh_time),'hh24miss'),'hh24miss') -
        to_date(to_char(min(first_refresh_time),'hh24miss'),'hh24miss')
       ) * (24*60) AS "소요시간(m)"
  FROM V$SQL_MONITOR
 WHERE SQL_ID = 'awxb9gjc12tdj' -- ''