Замена нескольких строк в Apache Drill с использованием метода REGEXP_REPLACE sql - PullRequest
0 голосов
/ 27 ноября 2018

Я использую SQL-запрос детализации по данным JSON.Но у одного из моих полей json, кажется, есть несколько символов, например '\n' & '^' и т. Д., Которые я хочу заменить на лету.

В настоящее время я вызываю REGEXP_REPLACE дважды, как показано ниже -

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

Как я могу сделать это, используя метод REGEXP_REPLACE только один раз?

1 Ответ

0 голосов
/ 27 ноября 2018

Ниже должно работать -

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

Но учтите, что в этом случае заменяемый символ будет одинаковым для всех.Если вам нужно заменить другими персонажами, вам нужно будет использовать только ваш подход, как показано ниже -

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