Как обновить конкретные данные внутри столбца на основе шаблона с SQL? - PullRequest
0 голосов
/ 24 апреля 2018

По некоторым причинам, в моей базе данных, в столбце таблицы, у меня есть некоторые данные с абсолютным URL-адресом, подобным этому:

+---------------------------------+
|               url               |
+---------------------------------+
| /foo/12                         |
| http://www.myexample.com/foo/13 |
| http://www.myexample.com/foo/14 |
+---------------------------------+

Я бы хотел обновить абсолютный URL как относительный URL:

+---------------------------------+
|               url               |
+---------------------------------+
| /foo/12                         |
| /foo/13                         |
| /foo/14                         |
+---------------------------------+

Как я могу сделать это с помощью SQL-запроса?

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать REPLACE(str,from_str,to_str)

Возвращает строку str со всеми вхождениями строки from_str, замененной строкой to_str.REPLACE () выполняет поиск с учетом регистра при поиске from_str.

Таким образом, вы можете написать замену (url, 'http://www.myexample.com','') в запросе на обновление

update table_name set url = replace(url,'http://www.myexample.com','') where 1=1
...