본문 바로가기
자격/SQL

날짜형 함수 - EXTRACT, 날짜형 연산

by 올럭Dev 2024. 12. 12.
728x90

- EXTRACT (YEAR, MONTH, DAY)

SELECT 
   TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS YYYYMMDD
    , EXTRACT(YEAR FROM SYSDATE) YEAR
    , EXTRACT (MONTH FROM SYSDATE) MONTH
    , EXTRACT (DAY FROM SYSDATE) DAY
    , TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) YEAR2
    , TO_NUMBER(TO_CHAR(SYSDATE, 'MM')) MONTH2
    , TO_NUMBER(TO_CHAR(SYSDATE, 'DD')) DAY2  
FROM DUAL;

EXTRACT

EXTRACT 함수를 사용하면 리턴 타입이 숫자형이다.

EXTRACT로 동일한 결과를 얻으려면 TO_NUMBER로 숫자형으로 변환해줘야 함

- 날짜형 연산

SELECT 
   TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:mm:ss') AS YYYYMMDD
    , TO_CHAR(SYSDATE + 1, 'YYYY-MM-DD') "DATE + NUM"
    , TO_CHAR(SYSDATE - 1, 'YYYY-MM-DD') "DATE - NUM"
    , SYSDATE + 1 - SYSDATE AS "DATE-DATE"
    , TO_CHAR(SYSDATE + 1/24, 'YYYY-MM-DD HH:mm:ss') AS "DATE + HOUR"
    , TO_CHAR(SYSDATE - 1/24, 'YYYY-MM-DD HH:mm:ss') AS "DATE - HOUR"
FROM DUAL;

날짜형 연산

DATE +/- 정수 : 일수 연산

DATE - DATE : 일수 반환

DATE +/- 숫자/24 : 시간 연산

728x90

'자격 > SQL' 카테고리의 다른 글

숫자형 함수 - CEIL, FLOOR, ROUND, TRUNC  (0) 2024.12.12
문자형 함수 - LTRIM, RTRIM, TRIM  (0) 2024.12.11
DATE 추출은 EXTRACT  (0) 2024.12.11
UNION, UNION ALL 비교  (0) 2024.12.10
데이터 모델 - 트랜잭션 표현  (0) 2024.11.27