Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como remover duplicatas da lista separada por vírgulas por regex no Oracle regexp_replace?

([^,]+)(,[ ]*\1)+

Tente isso. Isso funciona. Veja a demonstração.

http://regex101.com/r/yG7zB9/8

O problema era VA - HRD 1, VA - HRD 1
                     ^  ^

O espaço aqui. Você não estava levando isso em consideração, pois a primeira correspondência não tem espaço oculto. Então, inlcde [ ]* ou \s* para fazê-lo aceitar.