SQL Заменить некоторый текст каждой строки столбца - PullRequest
0 голосов
/ 10 мая 2018

У меня есть таблица базы данных, которая содержит столбец с именем: "shortLink". Этот столбец содержит краткую ссылку на адрес каждой строки в таблице. Я использую сервис tinyurl.com для коротких ссылок. Короткая ссылка выглядит так: https://tinyurl .com/randomletters.

Недавно я понял, что мне нужно изменить короткие ссылки на их версию для коротких ссылок предварительного просмотра: https://preview.tinyurl .com/randomletters.

Единственное различие между двумя форматами ссылок заключается в том, что между https:// и tinyurl.

существует префикс preview..

Поскольку у меня есть сотни строк в таблице sql, я не могу это исправить вручную. Есть ли способ преобразовать каждую короткую ссылку (добавив префикс preview. в адрес) в формат предварительного просмотра с кодом в sql?

Спасибо.

PS - Обратите внимание, что между форматами tinyurl и .com есть разрыв в форматах ссылок выше. Этот пробел добавлен намеренно, потому что форум не позволил бы мне опубликовать вопрос в противном случае.

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

- это обновит поле для вас, где у него еще нет предварительного просмотра. в нем.

UPDATE YourTable
SET  shortlinks= REPLACE( shortlinks, 'https://tinyurl .com', 'https://preview.tinyurl .com')
WHERE  shortlinks NOT LIKE 'https://preview.tinyurl%'
0 голосов
/ 10 мая 2018

Братан, попробуй это. сначала удалите все пробелы в URL в любом месте, затем замените tinyurl на 'Предварительный просмотр'

UPDATE [Table_Name]
SET  shortLink=  REPLACE(REPLACE( shortLink, ' ', ''),'tinyurl', 'preview')
0 голосов
/ 10 мая 2018

Вы можете просто использовать update:

update t
    set shortlink = concat('http://preview.', substring(shortlink, 8))
    where shorlink like 'http://tinyurl%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...