尝试替换大型数据库中的单个反斜杠。是要在一列上运行Update Replace查询,但我无法弄清楚如何替换单个反斜杠。有一些糟糕的更新已完成,这些斜线需要更改为另一个角色,它们不会逃避任何事情,也不会执行任何相关功能。
SELECT
REPLACE (
"Some\s string\s with slashe\s",
'\\',
' something '
)
当我运行它时,输出是:“Somes strings with slashes”
有没有办法在单个斜线上进行真正的替换?无论我在替换参数中添加什么,它只是消除了单个反斜杠,但实际上并没有替换它。不确定这是不是一个错误,或者我只是遗漏了一些东西。
我试过了:
SELECT
REPLACE (
"Some\s string\s with slashe\s",
'\',
' something '
)
我得到了:
[Err] 1064 - 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在第1行的'\')附近使用正确的语法
答案 0 :(得分:2)
REPLACE( )
不需要转义
select replace("Some\s string\s with slashe\s", '\\', ' something ');
更新1
我认为你想永久地替换它。对?使用UPDATE
而不是SELECT
UPDATE tableName
SET columnName = replace(columnName, '\\', '#');
答案 1 :(得分:-1)
replace()的参数不需要转义:
选择替换('A \ B \ C','\','\');
输出:
A\\\\B\\C
所以这会奏效:
select Name from T where Name = replace('A\\B\C', '\', '\\');
见过HERE