DATE_TRUNC 함수
DATE_TRUNC 함수는 시간, 일 또는 월 등 지정하는 날짜 부분을 기준으로 타임스탬프 표현식 또는 리터럴을 자릅니다.
구문
DATE_TRUNC('datepart', timestamp)
인수
- datepart
-
타임스탬프 값을 자를 때 기준이 되는 날짜 부분입니다. 입력 timestamp(타임스탬프)는 입력 datepart의 정밀도로 잘립니다. 예를 들어,
month
로 설정하면 해당 달의 첫 번째 날로 잘립니다. 유효한 형식은 다음과 같습니다.microsecond, microseconds
millisecond, milliseconds
second, seconds
minute, minutes
hour, hours
day, days
week, weeks
month, months
quarter, quarters
year, years
decade, decades
century, centuries
millennium, millennia
일부 형식의 약어에 대한 자세한 내용은 날짜 또는 타임스탬프 함수의 날짜 부분 섹션을 참조하세요.
- timestamp
-
타임스탬프 열 또는 묵시적으로 타임스탬프로 변환되는 표현식입니다.
반환 타입
TIMESTAMP
예시
입력 타임스탬프를 초로 자릅니다.
SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:05:06
입력 타임스탬프를 분으로 자릅니다.
SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:05:00
입력 타임스탬프를 시간으로 자릅니다.
SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 04:00:00
입력 타임스탬프를 일로 자릅니다.
SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-30 00:00:00
입력 타임스탬프를 해당 월의 첫 번째 날로 자릅니다.
SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-01 00:00:00
입력 타임스탬프를 해당 분기의 첫 번째 날로 자릅니다.
SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-04-01 00:00:00
입력 타임스탬프를 해당 연도의 첫 번째 날로 자릅니다.
SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2020-01-01 00:00:00
입력 타임스탬프를 해당 세기의 첫 번째 날로 자릅니다.
SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789');
date_trunc
2001-01-01 00:00:00
입력 타임스탬프를 해당 주의 월요일로 자릅니다.
select date_trunc('week', TIMESTAMP '20220430 04:05:06.789');
date_trunc
2022-04-25 00:00:00
다음은 DATE_TRUNC 함수에서 '주' 날짜 부분을 사용하여 각 주의 월요일에 해당하는 날짜를 반환하는 예입니다.
select date_trunc('week', saletime), sum(pricepaid) from sales where
saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;
date_trunc | sum
------------+-------------
2008-09-01 | 2474899
2008-09-08 | 2412354
2008-09-15 | 2364707
2008-09-22 | 2359351
2008-09-29 | 705249