MySQL替换单反斜杠

Jes*_*tep 5 mysql

尝试替换大型数据库中的单个反斜杠.是要在一列上运行Update Replace查询,但我无法弄清楚如何替换单个反斜杠.有一些糟糕的更新已完成,这些斜线需要更改为另一个字符,它们不会转义任何内容,也不会执行任何相关功能.

SELECT
REPLACE (
    "Some\s string\s with slashe\s",
    '\\',
    '  something  '
)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,输出是:"Somes strings with slashes"

有没有办法在单个斜线上进行真正的替换?无论我在替换参数中添加什么,它只是消除了单个反斜杠,但实际上并没有替换它.不确定这是一个错误还是我只是遗漏了一些东西.

我试过了:

SELECT
REPLACE (
    "Some\s string\s with slashe\s",
    '\',
    '  something  '
)
Run Code Online (Sandbox Code Playgroud)

我得到:

[错误] 1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'\')附近使用正确的语法

Rah*_*l P -2

Replace() 的参数不需要转义:

选择替换('A\B\C', '\', '\');

输出:

A\\\\B\\C
Run Code Online (Sandbox Code Playgroud)

所以这会起作用:

select Name from T where Name = replace('A\\B\C', '\', '\\');
Run Code Online (Sandbox Code Playgroud)

如此处所示

  • 我收到“[Err] 1064 - 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行 '\')' 附近使用的正确语法” (2认同)