[Oracle] 오라클 EXTRACT 함수 사용법 (날짜 정보 추출)

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

 

목차

 

EXTRACT 함수를 사용하여 날짜 추출(년, 월, 일)

SELECT SYSDATE
     , EXTRACT(YEAR FROM SYSDATE)  AS year_part
     , EXTRACT(MONTH FROM SYSDATE) AS month_part
     , EXTRACT(DAY FROM SYSDATE)   AS day_part
  FROM dual

 

 

현재 날짜(SYSDATE)에서 년, 월, 일 부분을 추출하여 반환하는 예제이다.

날짜 값 또는 칼럼에 YEAR, MONTH, DAY 구성 요소를 사용하여 날짜를 분리하면 된다.

 

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 함수를 사용하여 시간을 추출하기 위해서는 데이터 형식이 TIMESTAMP를 사용해야 한다.

데이터 형식이 DATE인 경우 CAST 함수를 사용하여 TIMESTAMP로 변환 후 시, 분, 초를 추출하면 된다.

 

EXTRACT 함수를 사용하여 실제 테이블에서 추출

SELECT ename
     , hiredate
     , EXTRACT(YEAR FROM hiredate)  AS year_part
     , EXTRACT(MONTH FROM hiredate) AS month_part
     , EXTRACT(DAY FROM hiredate)   AS day_part
  FROM emp
 WHERE job = 'MANAGER'

 

 

직원(emp) 테이블의 입사일(hiredate)에서 년, 월, 일을 추출하는 예제이다.

 

TO_CHAR 함수를 사용하여 날짜 추출 방법

SELECT TO_CHAR(SYSDATE, 'YYYY') AS year_part
     , TO_CHAR(SYSDATE, 'MM')   AS month_part
     , TO_CHAR(SYSDATE, 'DD')   AS day_part
     , 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 함수를 사용하여 날짜 또는 시간을 추출한다.

TO_CHAR 함수를 사용하면 자릿수를 고정하여 날짜를 추출할 수 있다. (월: 8 → 08)

 

 

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

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

gent.tistory.com

 

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

오라클 SQL에서 데이터의 형 변환을 하기 위해서는 CAST 함수를 사용할 수 있다. 오라클에서 형 변환을 할 때는 TO_CHAR, TO_DATE, TO_NUMBER 함수를 많이 사용하지만, CAST 함수는 다른 DBMS와 호환이 가능한

gent.tistory.com

 

 

댓글

Designed by JB FACTORY