Меня удивило следующее странное поведение в MySQL 5.7.
Позвольте мне иметь таблицу test
с некоторыми строками, содержащими обратно sla sh (\
)
mysql> select * from test;
+------+-----------------+
| id | val |
+------+-----------------+
| 1 | real\TestValue1 |
| 2 | real\TestValue2 |
| 3 | demo\TestValue1 |
+------+-----------------+
3 rows in set (0.00 sec)
Я просто пытаюсь выбрать строки по значению:
mysql> select * from test where val = 'real\TestValue1';
Empty set (0.00 sec)
Но пустой набор строк вернулся. Следующая итерация - замените backsla sh \
на любой другой допустимый символ (например, |
pipe) и оставьте его пустым:
mysql> select * from test where REPLACE(val, '\\', '|') = REPLACE('real\TestValue1', '\\','|');
Empty set (0.00 sec)
Поэтому мне нужно какое-то рабочее решение для выбора данных без поиска изменений строка из SQL кода. Будем благодарны за помощь.