使用 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));
我正在对 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));