SQL替换列的每个字符串的一些文本

时间:2018-05-10 12:42:06

标签: mysql sql

我有一个数据库表,其中包含一个名为:" shortLink"的列。 此列包含表中每行地址的短链接。 我使用tinyurl.com服务作为短链接。短链接如下所示:https://tinyurl .com/randomletters

最近我发现我需要将短链接更改为预览短链接版本:https://preview.tinyurl .com/randomletters

两种链接格式之间的唯一区别是preview.https://之间存在前缀tinyurl

由于我在sql表中有数百行,因此我无法手动修复此行。 有没有办法将每个短链接(通过在地址中添加前缀preview.)转换为其预览格式,并使用sql中的代码?

感谢。

PS - 请注意,上述链接格式中tinyurl.com之间存在差距。这个差距是故意添加的,因为论坛不会让我发布问题。

3 个答案:

答案 0 :(得分:1)

- 这将为您更新尚未进行预览的字段。在它。

UPDATE YourTable
SET  shortlinks= REPLACE( shortlinks, 'https://tinyurl .com', 'https://preview.tinyurl .com')
WHERE  shortlinks NOT LIKE 'https://preview.tinyurl%'

答案 1 :(得分:0)

您可以使用update

update t
    set shortlink = concat('http://preview.', substring(shortlink, 8))
    where shorlink like 'http://tinyurl%';

答案 2 :(得分:0)

兄弟试试这个。首先,在任何地方删除URL中的所有空格然后将'tinyurl'替换为 '预览'

UPDATE [Table_Name]
SET  shortLink=  REPLACE(REPLACE( shortLink, ' ', ''),'tinyurl', 'preview')