DATA_TRUNC 함수란?
postgreSQL에서 DATE_TRUNC() 함수는 날짜/시간 데이터에서 특정단위까지 값을 절삭하는 함수이다.
즉, 지정한 단위보다 작은 값(ex: 초, 분, 시간 등)은 0으로 맞춰진다.
기본 문법 및 활용 예시
기본 문법
DATE_TRUNC('단위', timestamp)
- ‘단위’ : 절삭한 기준이 되는 시간 단위를 의미한다.
- year, month, day, hour, minute, second 등..
- timestamp : 변환할 날짜 또는 시간 값
SELECT DATE_TRUNC('day', TIMESTAMP '2025-01-17 15:45:30');
--결과
→ 2025-01-17 00:00:00
위 쿼리 결과를 확인해 보면,
‘day’ 기준으로 날짜는 유지되지만 시간이 ‘00:00:00’이 되는 것을 확인할 수 있다.
대표적 활용 예시
1. 일자별 매출 합계 구하기
SELECT DATE_TRUNC('day', order_date) AS order_day, SUM(total_price)
FROM orders
GROUP BY DATE_TRUNC('day', order_date)
ORDER BY order_day;
2. 월별 사용자 가입 수 구하기
SELECT DATE_TRUNC('month', created_at) AS month, COUNT(*)
FROM users
GROUP BY DATE_TRUNC('month', created_at)
ORDER BY month;
3. 초당 테이블 insert 수 구하기
SELECT
DATE_TRUNC('SECOND', reg_dt),
count(*)
FROM
table_name
WHERE
reg_dt BETWEEN '2025-02-06 16:33:00' AND '2025-02-06 16:55:00'
GROUP BY
DATE_TRUNC('SECOND', reg_dt)
ORDER BY
DATE_TRUNC('SECOND', reg_dt)
;
'DB' 카테고리의 다른 글
| [PostgreSQL] POSITION 함수 사용법 (0) | 2025.04.15 |
|---|---|
| [PostgreSQL] DISTINCT ON (0) | 2024.08.20 |
| [PostgreSQL] DELETE JOIN문 (1) | 2024.07.05 |