PostgreSQL에서 표준 날짜 산술을 사용하여 여러 해에 걸친 시계열을 생성하는 것은 어려울 수 있습니다. 보다 안정적인 방법은 타임스탬프를 활용하는 것입니다.
해결책:
이 쿼리는 연도에 따른 일별 시계열을 효율적으로 생성합니다.
<code class="language-sql">SELECT date_trunc('day', dd)::date FROM generate_series ('2007-02-01'::timestamp , '2008-04-01'::timestamp , '1 day'::interval) dd;</code>
작동 방식은 다음과 같습니다.
::timestamp
을 사용하여 명시적으로 타임스탬프로 변환됩니다. 이렇게 하면 연도 경계를 정확하게 처리할 수 있습니다.generate_series
함수: generate_series
함수는 1일씩 증가하는('1일'::간격) 일련의 타임스탬프를 생성합니다.date_trunc('day', dd)
은 각 타임스탬프를 하루의 시작 부분으로 자르고 ::date
은 더 깔끔한 출력을 위해 결과를 date
데이터 유형으로 형변환합니다.이 접근 방식은 여러 연도의 날짜를 처리하는 경우에도 정확한 시계열 생성을 보장합니다.
위 내용은 PostgreSQL에서 연간 시계열을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!