Date, Timestamp, Interval 다루기
#
- Date
- 일자로서 년, 월, 일 정보를 가짐. YYYY-MM-DD
- Timestamp
- 일자를 시간 정보까지 같이 가짐. YYYY-MM-DD HH24:MI:SS
- Time
- Interval
pattern
#
- hh24
- hh12
- mi
- ss
- yyyy
- mm
- dd
- month
- day
- w
- ww
- d
- am 또는 pm
- tz
interval 활용
#
- Date 타입에 숫자값을 더하거나/빼면 숫자값에 해당하는 일자를 더하거나/빼서 날짜 계산
-- DATE 타입에 곱하기나 나누기는 할 수 없음.
SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') * 10 AS DATE_01;
- Timestamp타입에 숫자값을 더하거나 빼면 오류 발생
-- TIMESTAMP 연산. +7을 하면 아래는 오류를 발생.
SELECT TO_TIMESTAMP('2022-01-01 14:36:52', 'YYYY-MM-DD HH24:MI:SS') + 7;
- Timestamp는 interval 타입을 이용하여 연산 수행
- DATE 타입에 INTERVAL을 더하면 TIMESTAMP로 변환됨
SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') + INTERVAL '2 DAYS' AS DATE_01;
JUSTIFY_INTERVAL(일자)
#
- 출력 형식 : 43 years 7 mons 15 days 9 hours 3 mins 37.040751 secs
AGE(일자)
#
- 나이 계산
- 출력 형식 : 43 years 0 mons 0 days 0 hours 0 mins 0.0 secs
실습코드
#