我对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%”这样的数据;
答案 0 :(得分:0)
您必须用双反斜杠转义每个反斜杠:
SELECT REPLACE(mycolumn, '\\\\', '\\/')
FROM mytable
WHERE mycolumn LIKE '%photos%';
或者您可以更新表格:
UPDATE mytable
SET mycolumn = REPLACE(mycolumn, '\\\\', '\\/')
WHERE mycolumn LIKE '%photos%';
,该列将包含所需的值。
请参见demo。