문제

PostgreSQL 8.2.15와 같은 GreenPlum 데이터베이스에서 수행하려는 매우 기본적인 쿼리가 있습니다.

table t의 필드 create_date는 시간대 w / o 시간대입니다. 누구 든지이 일을 성취하기 위해 올바른 쿼리를 가리킬 수 있습니까?고마워.

select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))
.

던지기 오류

ERROR:  function generate_series(double precision, double precision) does not exist
.

라인 1 : generate_series에서 *를 선택하십시오 ((추출 (extract) ^ 힌트 : 지정된 이름과 인수 유형과 일치하지 않습니다.명시 적 유형 캐스트를 추가해야 할 수도 있습니다.

도움이 되었습니까?

해결책

정수로 인수를 명시 적으로 캐스팅 할 수 있습니다.

select *
from generate_series (
    (select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1)::int,
    (select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1)::int
)
.

SQL 바이올린 데모

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top