Заменить строку между символами используя regx_replace - PullRequest
0 голосов
/ 17 июня 2019

У меня есть один столбец, который содержит такие значения, как - $ test test12 $ test14 Я должен обновить значение между $$. like- $ test done $ test14

Я попытался решить эту проблему с помощью: -

select REGEXP_REPLACE('$test test12$ test14','$(.*?)$','test done') from dual

но не работает

Заданная строка - $ test test12 $ test14 Ожидаемый результат - $ test done $ test14

1 Ответ

4 голосов
/ 17 июня 2019

Символ $ является метасимволом rexeg , который имеет особое значение (это означает конец строки ввода или текущей строки).Если вы хотите нацелиться на литерал $, тогда его нужно экранировать:

SELECT
    REGEXP_REPLACE('$test test12$ test14', '\$(.*?)\$','$test done$')
FROM dual;

Вышеуказанные выходные данные:

$test done$ test14
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...