IT Log
[Presto] DATE_ADD, DATE_DIFF 본문
728x90
반응형
Unit | 설명 |
millisecond | 밀리초 |
second | 초 |
minute | 분 |
hour | 시 |
day | 일 |
week | 주 |
month | 월 |
quarter | 분기 |
year | 년 |
DATE_ADD
- 사용법 : DATE_ADD(unit, value, timestamp)
- timestamp에는 'DATE, TIME, TIME WITH TIME ZONE, TIMESTAMP, TIMESTAMP WITH TIME ZONE' 형식이 사용 가능
SELECT DATE_ADD('MONTH', 5, DATE '2021-01-01') -- 5개월 ADD
2021-06-01 -- 조회 결과
SELECT DATE_ADD('MINUTE', 3, TIME '05:43:03.456') -- 3분 ADD
05:46:03.456 -- 조회 결과
SELECT DATE_ADD('YEAR', 5, TIMESTAMP '2021-08-22 03:04:05.321') -- 5년 ADD
2026-08-22 03:04:05.321 -- 조회 결과
-- 오류 예시 --
-- 1. Data type이 TIMESTAMP형식이 아닌 경우
SELECT DATE_ADD('MONTH', 5, '2021-01-01') 또는 SELECT DATE_ADD('MONTH', 5, 2021-01-01)
-- 2. Unit과 TIMESTAMP형식이 맞지 않는 경우
SELECT DATE_ADD('MONTH', 5, TIME '05:43:03.456') 또는 SELECT DATE_ADD('MINUTE', 5, DATE '2021-01-01')
DATE_DIFF
- 사용법 : DATE_DIFF(unit, timestamp1, timestamp2)
- timestamp에는 'DATE, TIME, TIME WITH TIME ZONE, TIMESTAMP, TIMESTAMP WITH TIME ZONE' 형식이 사용 가능
- DATE_DIFF는 'timestamp2' - 'timestamp1'로 timestamp2가 과거의 시간 또는 일자인 경우 값이 -로 출력
SELECT DATE_DIFF('MONTH', DATE '2021-01-01', DATE '2021-05-01') -- 월
4 -- 조회 결과
SELECT DATE_DIFF('MINUTE', TIME '05:43:03.456', TIME '05:53:03.456') -- 분
10 -- 조회 결과
SELECT DATE_DIFF('YEAR', TIMESTAMP '2021-08-22 03:04:05.321', TIMESTAMP '2025-08-22 03:04:05.321') -- 년
4 -- 조회 결과
-- 오류 예시 --
-- 1. Data type이 TIMESTAMP형식이 아닌 경우
SELECT DATE_DIFF('MONTH', '2021-01-01', '2021-05-01')
또는
SELECT DATE_DIFF('MONTH', DATE '2021-01-01', '2021-05-01')
-- 2. Unit과 TIMESTAMP형식이 맞지 않는 경우
SELECT DATE_DIFF('MONTH', TIME '05:33:03.456', TIME '05:43:03.456')
728x90
반응형
'SQL > Presto' 카테고리의 다른 글
[Presto] REGEXP Functions (0) | 2021.04.07 |
---|---|
[Presto] Data type (0) | 2021.04.07 |
Comments