집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 여러 해에 걸쳐 정확한 날짜 계열을 생성하려면 어떻게 해야 합니까?
다년간에 걸친 PostgreSQL 날짜 시리즈를 정확하게 생성
generate_series
함수는 PostgreSQL에서 주어진 두 날짜 사이의 날짜 시퀀스를 생성할 때 유용합니다. 그러나 아래 쿼리에서 볼 수 있듯이 날짜가 서로 다른 연도에 걸쳐 있는 경우 정확한 결과를 제공하지 못할 수 있습니다.
<code class="language-sql">select date '2004-03-07' + j - i as AllDate from generate_series(0, extract(doy from date '2004-03-07')::int - 1) as i, generate_series(0, extract(doy from date '2004-08-16')::int - 1) as j</code>
이 문제를 해결하려면 타임스탬프 변환을 포함하는 보다 정확한 솔루션을 사용할 수 있습니다.
<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>
이 쿼리에서는 date_trunc
함수를 사용하여 생성된 타임스탬프에서 날짜 부분을 추출하므로 날짜의 연도가 다르더라도 정확한 결과가 보장됩니다. generate_series
함수는 하루 간격으로 타임스탬프 시퀀스를 생성한 다음 date_trunc
함수는 이러한 타임스탬프를 다시 날짜로 변환하여 신뢰할 수 있는 날짜 시퀀스를 제공합니다.
위 내용은 PostgreSQL에서 여러 해에 걸쳐 정확한 날짜 계열을 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!