Netezzaのメモ。

( ´_ゝ`)ノシ

最近記事書くのご無沙汰なyoshitiaです。

Netezzaについてちょっとだけメモを書く。

Oracleのlistagg関数、すごく便利ですね。

TEST table

NO | WORD

--------------

1    | Apple

2    | Ball

1    | Cat

1    | Dog

2    | Egg

 

---------------------------------------

SELECT

    No

  , LISTAGG('WORD',', ')    AS RESULT

FROM

    TEST

GROUP BY

    NO;

---------------------------------------

 

NO | RESULT

-------------------

1    | Apple, Cat, Dog

2    | Ball, Egg

 

---------------------------------------------------

netezzaだとgroup_concatという関数があるみたい。

(デフォルト関数ではない。導入方法は下記リンク) 

Netezza: SQL and Admin: Netezza: create UDX concatenating row values into coma delimited string GROUP_CONCAT

 

ただし、マルチバイト文字非対応らしく、扱う値が日本語だと文字化けする。

コードはC++みたいだけどC++力が無いのでどう修正したらいいのかわからないのがつらい。

新しく使うなら日本語を扱わない様にデータ用意するしかないんだろうなぁ・・・。