ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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에서 확인할 수 있습니다.

    댓글