Я имеющих следующую проблему:MySQL: заменить (обратная косая черта) в строках
У меня есть таблица T, которая имеет столбец Name с именами. Имена имеют следующую структуру:
А \\ В \ С
Вы можете создать на себя, как это:
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
Любые предложения?
Большое спасибо заранее.
Не уверен, что я следую. Вы ожидаете, что вставленное значение будет найдено без указания его так же, как оно было вставлено? – jefflunt
Рассматривали ли вы использование другого разделителя? Если проблема связана с архаичными данными, достаточно простого сценария, который обновляет старые данные. – teh1
Возможно, я не очень хорошо объяснил это. Оказывается, если я использую quote() для имени, я получаю то, что хочу, т. Е. \ Берется буквально. – user1316758