[Oracle] 날짜(Date)에서 시간만 추출하는 2가지 방법

오라클 SQL에서 날짜 형식에서 시간을 추출하기 위해서는 TO_CHAR 함수와 EXTRACT 함수를 사용하면 된다. TO_CHAR 함수는 시간 값을 문자열로 반환하며, EXTRACT 함수는 숫자 값으로 반환한다. TO_CHAR 함수를 조금 더 많이 사용하는 편이지만, 두 함수의 특성이 조금 다르기 때문에 상황에 따라서 필요한 함수를 사용하면 된다.

 

목차

 

날짜에서 시간을 추출하는 방법

SELECT SYSDATE
     , TO_CHAR(SYSDATE, 'HH24')                      AS to_char_hour
     , EXTRACT(HOUR FROM CAST(SYSDATE AS TIMESTAMP)) AS extract_hour
  FROM dual

 

 

TO_CHAR 함수와 EXTRACT 함수를 사용하면 날짜에서 시간을 쉽게 추출할 수 있다.

EXTRACT 함수는 데이터 형식을 TIMESTAMP로 변경해야 시간을 추출할 수 있다.

 

TO_CHAR 함수를 사용하여 시간을 추출하는 방법

SELECT SYSDATE
     , TO_CHAR(SYSDATE, 'HH24:MI:SS') AS time_only
     , TO_CHAR(SYSDATE, 'HH24')       AS hour_part
     , TO_CHAR(SYSDATE, 'MI')         AS minute_part
     , TO_CHAR(SYSDATE, 'SS')         AS second_part
  FROM dual

 

 

TO_CHAR 함수를 사용할 경우 다양한 형식으로 시간을 추출할 수 있기 때문에 편리하게 사용할 수 있다.

 

EXTRACT 함수를 사용하여 시간을 추출하는 방법

SELECT SYSDATE
     , EXTRACT(HOUR FROM CAST(SYSDATE AS TIMESTAMP))   AS hour_part
     , EXTRACT(MINUTE FROM CAST(SYSDATE AS TIMESTAMP)) AS minute_part
     , EXTRACT(SECOND FROM CAST(SYSDATE AS TIMESTAMP)) AS second_part
  FROM dual

 

 

EXTRACT 함수를 사용하면 시간, 분, 초를 각각 추출할 수 있다.

 

TO_CHAR 함수와 EXTRACT 함수의 반환값 비교

WITH TEMP AS (
    SELECT TO_DATE('2024-09-19 08:00:00', 'YYYY-MM-DD HH24:MI:SS') AS dte FROM dual
    UNION ALL
    SELECT TO_DATE('2024-09-19 09:30:10', 'YYYY-MM-DD HH24:MI:SS') AS dte FROM dual
    UNION ALL
    SELECT TO_DATE('2024-09-19 10:05:30', 'YYYY-MM-DD HH24:MI:SS') AS dte FROM dual    
)

SELECT dte
     , TO_CHAR(dte, 'HH24')                      AS to_char_hour
     , EXTRACT(HOUR FROM CAST(dte AS TIMESTAMP)) AS extract_hour
  FROM TEMP

 

 

TO_CHAR 함수는 시간을 추출할 때 문자열로 반환하고, EXTRACT 함수는 숫자 형식으로 반환한다.

 

추출한 값을 연산해야 할 경우 숫자 형식이면 조금 편리한 부분이 있지만, 날짜 형식을 TIMESTAMP 형식으로 바꿔야 하기 때문에 조금 번거로운 부분도 존재한다.

 

 

[Oracle] 오라클 TO_CHAR 함수 사용법

오라클에서 쿼리문을 작성할 때 TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 자주 사용하는 기본 함수이므로 아래의 다양한 변환 방법을 알고 있으면 많은 도움이 된다.

gent.tistory.com

 

[Oracle] 오라클 EXTRACT 함수 사용법

오라클 SQL에서 EXTRACT 함수를 사용하여 날짜(년, 월, 일) 또는 시간( 시, 분, 초 )을 분리하여 추출할 수 있다. 날짜를 분리하여 추출할 때는 주로 TO_CHAR 함수를 많이 사용하지만, EXTRACT 함수와 TO_CHAR

gent.tistory.com

 

 

댓글

Designed by JB FACTORY