sql 查询将反斜杠“\\”替换为“\/”

sql query to replace backslashes '\\' with '\/'

我对 sql 查询知之甚少,但我需要一个查询来将 '\' 替换为 '\/'

我有一个 Wordpress 数据库,其中有一个长文本字符串中的字符,在 phpMyAdmin 浏览器中看起来像这样。

'\\上传\\照片\\'

需要是'\/uploads/photos\/'。我想要一个查找“\\uploads\\photos\\”的查询,这样我就可以确保查询正常工作。

我还想要另一个查询,以将“\\uploads\\photos\\”永久替换为“\/uploads\/photos\/”。

下面的查询找到 photos returns 个结果,但这是我得到的。

SELECT * 
FROM `mytable`
WHERE `mycolumn` LIKE '%photos%'

感谢 pas 的优秀解决方案!

对于未来的读者:
当我从本地在线迁移我的 wordpress 数据库时,多合一迁移插件错过了我正在使用的 wonderplugin gallery 中的路径。因此我对查询的要求。

这个双反斜杠 \ 文本是一个长字符串,我担心有更多的双反斜杠可能会被更改。因此,加上 forpas 提供的解决方案,我更准确地定位了路径文本。 mytable 实际上被命名为 wp_nonxenon_wonderplugin_gridgallery,而 mycolumn 被命名为 data。这是生成的查询,将来会为我节省很多工作。

更新wp_nonxenon_wonderplugin_gridgallery 设置数据 = 替换(数据,'wp-content\uploads\photos\','wp-content\/uploads\/photos\/') WHERE data LIKE '%photos%';

您必须使用双反斜杠转义每个反斜杠:

SELECT REPLACE(mycolumn, '\\', '\/') 
FROM mytable
WHERE mycolumn LIKE '%photos%';

或者您可以更新 table:

UPDATE mytable
SET mycolumn = REPLACE(mycolumn, '\\', '\/')
WHERE mycolumn LIKE '%photos%';

该列将包含您想要的值。

参见demo