ОБНОВЛЕНИЕ SQL, чтобы заменить весь текст в скобках пустой строкой - PullRequest
0 голосов
/ 06 июня 2018

В столбце запроса ниже я хочу удалить квадратные скобки и текст внутри них.

Пример данных (id, запрос):

25, some data (example1) more text
28, text (example2)

преобразован в:

25, some data more text
28, text

Я пробовал следующий SQL, но значения не изменились:

UPDATE mytable
SET query = REPLACE(query, '%(%)%', '')
WHERE query like '%(%)%';

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Я бы подошел к этому, используя regexp_replace() как:

select regexp_replace('some data (example1) more text', '\(.*\)', '')

Вы бы просто поместили выражение в предложение set:

UPDATE mytable
     SET query = regexp_replace(query, '\(.*\)', '')
WHERE query like '%(%)%';
0 голосов
/ 06 июня 2018

Попробуйте это

replace(regexp_replace('some data (example1) more text', '(?<=\()(.*?)(?=\))', ''), '()', '');

демо

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