>

문자열로 변환하려는 배열을 포함하는 열이있는 테이블이 있으므로 구분 기호로 여러 열로 나눌 수 있습니다.

시간대가있는 날짜 배열에서이 작업을 수행하는 데 문제가 있습니다.

create materialized view matview1 as select
    (location) as location,
    (nullif(split_part(string_agg(distinct name,'; '),'; ',1),'')) as name1,
    (nullif(split_part(string_agg(distinct name,'; '),'; ',2),'')) as name2,
    (nullif(split_part(string_agg(distinct name,'; '),'; ',3),'')) as name3,
    (array_agg(distinct(event_date_with_timestamp))) as event_dates
    from table2 b
    group by location;

위의 코드에서 특정 위치와 관련된 모든 테이블 항목을 단일 행으로 통합하기 위해 구체화 된 테이블보기를 작성하고 있습니다.

이름과 같이 각 event_date 항목에 대해 추가 열을 어떻게 만들 수 있습니까 (예 : 'name'배열의 Name1, Name2 및 Name3)?

배열을 문자열 형식으로 변경하려고 시도했습니다 :

(nullif(split_part(array_to_string(array_agg(distinct(event_date_with_timestamp))),'; ',1),'')) as event_date1

그러나 이것은 오류를 던진다 :

"함수 array_to_string (시간대가 타임 스탬프 [])가 없습니다"

다른 데이터 유형으로 캐스트하면 항상 타임 스탬프 유형에서 다른 것으로 캐스트 할 수 없다는 오류가 발생합니다.


  • 답변 # 1

    타임 스탬프에서 텍스트로 캐스트 한 다음 다음과 같이 다시 되돌림으로써이를 달성 할 수있는 방법을 찾았습니다.

    (nullif(split_part(string_agg(distinct event_date::text,'; '),'; ',1),'')::date) as date1,
    
    

관련 자료

  • 이전 plot - tikz + pgf 함수 플로팅 - 최대 (a, b) 함수가 있습니까?
  • 다음 django - Python에서 CSV Reader를 사용하여 CSV 파일 행을 삭제하는 방법은 무엇입니까?