-
[PostgreSQL] 일주일의 시작 날짜, 마지막 날짜 구하기DB/PostgreSQL 2017. 2. 22. 14:15
주어진 날짜에서 일주일의 시작 날짜와 마지막 날짜를 PostgreSQL에서 지원하는 date_trunc()함수를 사용하여 계산할 수 있습니다.
시작날짜 구하기
SELECT date_trunc('week', '2012-07-25 22:24:22'::timestamp); -> 2012-07-23 00:00:00
만약 timestamp가 아닌 date만 원한다면 아래와 같이 date 타입으로 변환하여 출력할 수 있습니다.
SELECT date_trunc('week', '2012-07-25 22:24:22'::timestamp)::date; -> 2012-07-23
마지막날짜 구하기
SELECT (date_trunc('week', '2012-07-25 22:24:22'::timestamp)+ '6 days'::interval)::date; ->2012-07-29
응용
주어진 날짜가 이번주에 속해 있는지 확인하려면 아래와 같이 사용할 수 있습니다.
date_trunc('week', now())::date <= 임의의 날짜변수 ::date and 임의의 날짜변수::date <= (date_trunc('week', now()) + '6 days')::date
PostgreSQL의 datetime 함수에 더 자세한 내용은 https://www.postgresql.org/docs/9.5/static/functions-datetime.html에서 확인할 수 있습니다.