2014-11-11 2 views
0

에서 월요일부터 토요일까지 주 시작일을 변경해야합니다. PostgreSQL. 내가 SET DATEFIRST 6; 시도했지만 작동하지 않습니다 PostgreSQL. 이를위한 해결책을 제안하십시오.PostgreSQL에서 첫 번째 요일을 변경하는 방법

+0

[매뉴얼] (http://www.postgresql.org/docs/current/static/index.html)에서 'set datefirst' 문을 찾았습니까? –

답변

4

DATEFIRST에있는 것으로 보이는 Microsoft Transact-SQL입니다.

나는 포스트 그레스과 정확히 일치한다고 생각되지만 대략적으로 표현할 수 있어야합니다.

포스트 그레스EXTRACT 함수를 통해 TIMESTAMP의 다양한 부분을 추출 지원한다. 귀하의 목적에 따라 DOW 또는 ISODOW을 사용하는 것이 좋습니다.

DOW 번호 일요일 (0) 토요일 (6) ISO 8601 표준을 준수 ISODOW, 동안, 숫자 월요일 (1) 일요일 (7). Postgres doc에서

:

이 :

SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); 

반환 5을,이 동안 :

SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40'); 

반환 7.

따라서 EXTRACT 버전을 쿼리에 사용하여 요일 번호를 얻으십시오. 많은 쿼리에서이 쿼리를 사용하려는 경우 creating a function을 추천합니다.이 쿼리는 한 곳에서 쿼리를 중앙 집중화하고 토요일에 시작되도록 원하는대로 옮겨 놓은 번호를 반환합니다 (조판은 번호 매기기 방법에 따라 달라질 수 있습니다). EXTRACT에서 사용). 그런 다음 해당 함수를 SELECT에 호출하면 번호가 바뀌어 반환됩니다.

관련 문제