티스토리 뷰
반응형
인포믹스를 사용하는 곳에서 group_concat 함수 기능을 필요로 하시는 경우가 있었는데요.
15버전에서 드디어 자체 기능으로 제공되네요. 과거 버전에서는 stack overflow 의 글을 참고해서 aggregate를 만들어 사용했었는데, 기본 기능으로 제공되니 유용할 듯 합니다.
https://pajama.tistory.com/244
아직 group_concat 용법에 대한 공식 문서는 없지만, 아래처럼 구분자만 지정하면 사용에는 크게 무리가 없어 보입니다.
아래는 기존의 글에서 사용했던 샘플 데이터로 group_concat을 실행해본 결과입니다.
$ dbaccess stores_demo -
Database selected.
> create table test (name varchar(20),nickname varchar(20));
> insert into test values ('홍길동','구름');
> insert into test values ('심청이','달');
> insert into test values ('변사또','해');
> insert into test values ('홍길동','달');
> insert into test values ('심청이','별');
> insert into test values ('변사또','물');
> select name, group_concat(nickname,',') from test group by name;
name 심청이
group_concat 달,별
name 변사또
group_concat 해,물
name 홍길동
group_concat 구름,달
하지만 기존에 직접 aggregate로 생성한 것과 마찬가지로, group_concat에서 지정한 대상의 리스트들을 정렬할 수 있는 옵션이 제공되지 않아 기능적으로는 차이가 없어 아쉽네요. 현재까진 구분자를 지정할 수 있다는 정도만 알 수 있네요.
group_concat 사용시 옵션을 주지 않았더니 아래처럼 오류가 발생하네요.
C라이브러리를 사용하는 aggregate로 보입니다.
> select group_concat(name) from test;
9406: Cannot resolve support function for user-defined aggregate group_concat(llvc_gc_init).
Error in line 1
Near character position 8
> select * from sysprocbody where procid = 565;
data create function informix.llvc_gc_init(lvarchar, varchar(255))
returns informix.smartvarchar_t
with (handlesnulls, not variant, parallelizable)
external name '(llvc_gc_init)'
language c ;
반응형
댓글
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday