使用 REGEXP_REPLACE sql 方法在 apache drill 中替换多个字符串

Multiple string replace in apache drill using REGEXP_REPLACE sql method

我正在对 json 数据使用 drill sql 查询。但是我的 json 字段之一似乎没有几个字符,例如'\n' & '^' 等,我想即时更换。

目前,我正在调用 REGEXP_REPLACE 两次,如下所示 -

SELECT REGEXP_REPLACE(REGEXP_REPLACE('aaaa\nbbbb^cccc', '\n', ' '), '\^', ' ') FROM (VALUES(1));

如何只使用一次 REGEXP_REPLACE 方法来做到这一点?

以下必须有效 -

SELECT REGEXP_REPLACE('aaaa\nbbbb^cccc', '\n|\^', ' ') FROM (VALUES(1));

但请注意,在这种情况下,您要替换的字符对所有人都是相同的。如果你必须用不同的字符替换,那么你只需要按照下面的方法去做 -

SELECT REGEXP_REPLACE(REGEXP_REPLACE('aaaa\nbbbb^cccc', '\n', 'X'), '\^', 'Y') FROM (VALUES(1));