MySQL выбор записей по строке содержит '\' (обратный знак sh) - PullRequest
0 голосов
/ 30 апреля 2020

Меня удивило следующее странное поведение в 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 кода. Будем благодарны за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...