を含む SQL クエリがあります。
REGEXP_REPLACE(LISTAGG(foo.name, ',') WITHIN GROUP (ORDER BY foo.name), '([^,]+)(,\1)+', '\1') AS bar
その中にSELECT
。LISTAGG
foo.name 列の値を区切り文字として「,」で連結し、REGEXP_REPLACE
重複を置き換えます。
「,」(コンマの後に空白文字が続く) がセパレーターとして使用されるように を変更した場合、?LISTAGG
をどのように調整する必要がありREGEXP_REPLACE
ますか?
編集:
をに変更するREGEXP_REPLACE
と'([^,]+)(, \1)+'
、うまくいくようで、
シトロネンサウレ、カリウムソルバット、ペクチン
しかし、 を に変更するREGEXP_REPLACE
と、'^([^,]+)(, \1)+$'
まだ重複があります:
CITRONENSÄURE、CITRONENSÄURE、CITRONENSÄURE、CITRONENSÄURE、CITRONENSÄURE、KALIUMSORBAT、KALIUMSORBAT、KALIUMSORBAT、KALIUMSORBAT、KALIUMSORBAT、ペクチン、ペクチン、ペクチン、ペクチン、ペクチン
それで、'([^,]+)(, \1)+'
ないに関係なく、正しいものですか^
と$
?