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

时间:2020-07-25 20:02:39

标签: mysql sql backslash

我对sql查询了解甚少,但我需要一个查询以将'\\'替换为'\/'

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

'\\ uploads \\ photos \\'

它必须是'\ / uploads / photos \ /'。我希望查询查找“ \\ uploads \\ photos \\”,以便确保查询正常运行。

我还希望另一个查询将'\\ uploads \\ photos \\'永久替换为'\ / uploads \ / photos \ /'。

下面的查询找到photos会返回结果,但就我所知。

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

感谢您提供出色的解决方案!

供将来的读者使用:
当我从本地在线迁移wordpress数据库时,所有一个迁移插件都错过了我正在使用的wonderplugin画廊中的路径。因此,我对查询的要求。

此双反斜杠\文本较长,我担心会有更多的双反斜杠可以更改。因此,添加到由Forpas提供的解决方案上,我更准确地针对了路径文本。 mytable实际上被命名为wp_nonxenon_wonderplugin_gridgallery,而mycolumn被命名为data。这样生成的查询将为我将来节省很多工作。

更新wp_nonxenon_wonderplugin_gridgallery SET data = REPLACE(数据,'wp-content \\ uploads \\ photos \\','wp-content \ / uploads \ / photos \ /') 像“%photos%”这样的数据;

1 个答案:

答案 0 :(得分:0)

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

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

或者您可以更新表格:

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

,该列将包含所需的值。

请参见demo