Дедупликация строк с разделителями в BigQuery

Чтобы дедуплицировать строку с разделителями в BigQuery, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование ARRAY_AGG и UNNEST: вы можете разделить строку с разделителями на массив с помощью SPLIT, затем агрегировать массив с помощью ARRAY_AGG и, наконец, разложить массив для удаления дубликатов. Вот пример:
SELECT DISTINCT value
FROM UNNEST(SPLIT(your_delimited_string, delimiter)) AS value
  1. Использование STRING_AGG: вы можете разделить строку с разделителями на массив, а затем агрегировать отдельные значения с помощью STRING_AGG. Этот метод сохраняет исходный формат строки с разделителями. Вот пример:
SELECT STRING_AGG(DISTINCT value, delimiter) AS deduplicated_string
FROM UNNEST(SPLIT(your_delimited_string, delimiter)) AS value
  1. Использование REGEXP_REPLACE: если разделитель представляет собой один символ, вы можете использовать REGEXP_REPLACE для удаления повторяющихся значений. Вот пример:
SELECT REGEXP_REPLACE(your_delimited_string, r'(\b\S+\b)(?=.*\b\1\b)', '') AS deduplicated_string