如何使用Redshift SQL在字符串中每n个字符(例如100个字符)后插入一个字符(例如星号)
答案 0 :(得分:1)
这不是SQL的正常功能。
但是,您可以Create a Scalar 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