Как вставить символ после каждого n символов в строке, используя Redshift SQL - PullRequest
0 голосов
/ 07 февраля 2019

Как вставить символ (скажем, звездочку) после каждого n чисел (скажем, 100 символов) в строке, используя Redshift SQL

1 Ответ

0 голосов
/ 08 февраля 2019

Это не нормальная возможность SQL.

Однако вы можете Создать скалярный Python UDF :

CREATE FUNCTION f_insert_char (s text, c text, gap int)
  RETURNS TEXT
STABLE
AS $$

  return c.join(s[i:i+gap] for i in range(0, len(s), gap))

$$ LANGUAGE plpythonu;

Использование:

SELECT f_insert_char('The quick brown fox jumps over the foo', '*', 5);

Вывод:

The qu*ick br*own fo*x jump*s over* the f*oo

Используйте его в запросе, подобном этому:

SELECT
  f_insert_char(column_name, '*', 5)
FROM table
...