在Bigquery SQL中,可以使用嵌套的regex_replace函数来替换匹配的文本。通常情况下,为了减少代码复杂性和提高可读性,我们需要对此进行简化。
具体方法是使用unnest函数来遍历嵌套数组并执行多个regex_replace操作。下面是示例代码:
WITH input_data AS ( SELECT ['(a)one1', '(b)two2', '(c)three3'] AS input UNION ALL SELECT ['(d)four4', '(e)five5'] AS input UNION ALL SELECT ['(f)six6', '(g)seven7', '(h)eight8'] AS input )
SELECT (SELECT STRING_AGG( (SELECT REGEXP_REPLACE(pair, r'\([a-z])', '\1|')) FROM UNNEST(arr) AS pair), '|') FROM input_data CROSS JOIN UNNEST(input) AS arr;
这段代码将输出以下内容:
a|one1|b|two2|c|three3 d|four4|e|five5 f|six6|g|seven7|h|eight8
这种简化方法使代码更易于理解,并且可以轻松地添加其他替换操作。