用新字符串更新字符串

Posted

技术标签:

【中文标题】用新字符串更新字符串【英文标题】:Update string with new string 【发布时间】:2019-09-28 11:06:09 【问题描述】:

我想用一个新的 url 更新一个表来替换旧的:

UPDATE table1 
SET column1 = REPLACE(column1, 'OLD URL', 'NEWURL') 
WHERE column LIKE '%OLDURL%'

这主要是更新它,但我只想替换它的一部分,如果我在里面放任何 / 都不起作用,所以如果我想使用:

UPDATE table1 
SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL') 
WHERE column LIKE '%OLDURL%'

由于/,它不起作用。

【问题讨论】:

我建议阅读how to ask,尤其是“帮助他人重现问题/发布前校对!”部分,因为问题缺少基本信息以提供更可靠的信息答案/cmets...另见Why should I provide a Minimal Reproducible Example for a very simple SQL query? 那么,您想将/folder1 部分也替换为空字符串吗?例如:http://google.com/xyz 转到 https://gog.com ? 请解释“不起作用”是什么意思。样本数据和期望的结果非常有帮助。 【参考方案1】:

对第二个更新查询的最快修复是在替换中包含路径组件:

UPDATE table1 
SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL/folder1') 
WHERE column LIKE '%OLDURL%';

【讨论】:

我想更新文件夹 1 部分以说文件夹 2,但是当它把它放入并在 phpmyadmin 中运行时,它没有找到任何东西 该列的格式如下 ["http:\/\/URL1\/\/1"]【参考方案2】:

您应该检查where 中的替换模式:

UPDATE table1 
    SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL') 
    WHERE column LIKE '%OLDURL/folder1%';

不过,我不确定这是否解决了您所说的“不起作用”的意思。

【讨论】:

我认为它在 phpmyadmin 的数据库中的格式是这样的 ["http:\/\/URL1\/\/1"]

以上是关于用新字符串更新字符串的主要内容,如果未能解决你的问题,请参考以下文章

用新数字替换第一个左括号和数字

Word文件批量查找替换字符串

Java学习lesson 11

[terry笔记]文件操作

在 C# 中更改 Excel Power Query 连接字符串

MySQL 用通配符替换