【发布时间】:2023-04-03 07:57:01
【问题描述】:
我遇到以下问题:
我有一个表 T 有一个名称列名称。名称具有以下结构:
A\\B\C
你可以像这样对自己进行创作:
create table T ( Name varchar(10));
insert into T values ('A\\\\B\\C');
select * from T;
现在如果我这样做:
select Name from T where Name = 'A\\B\C';
这不行,我需要转义\(反斜杠):
select Name from T where Name = 'A\\\\B\\C';
很好。
但是如何自动对字符串名称执行此操作?
类似下面的东西不会这样做:
select replace('A\\B\C', '\\', '\\\\');
我得到:A\\\BC
有什么建议吗?
非常感谢。
【问题讨论】:
-
不确定我是否关注。您是否希望找到插入的值而不以插入相同的方式指定它?
-
您是否考虑过使用不同的分隔符?如果问题是过时数据,那么更新旧数据的简单脚本就足够了。
-
可能我解释的不是很好。事实证明,如果我使用 quote() 作为我想要的名称,即 \ 是字面意思。