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로 동일한 결과를 얻으려면 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 |