У меня есть запрос MySQL, который не показывает результатов в течение 95% времени. Запрос очень прост, и предполагается, что дни недели потребуются для резервного копирования для определенного узла. Я импортировал данные из CSV в mysqlНе удается удалить завершающие символы
Я обнаружил, что, когда я редактирую имя узла вручную, удаляю последний символ и повторно набираю его вручную, это устраняет проблему для этого узла. Поэтому я обнаружил невидимые конечные символы. я попытался исправить это с помощью следующих команд, но это NOx решить проблему:
UPDATE tsm_nodes SET node_name = TRIM(TRAILING '\r' FROM node_name);
UPDATE tsm_nodes SET node_name = TRIM(TRAILING '\n' FROM node_name);
UPDATE tsm_nodes SET node_name = TRIM(node_name);
Раствор из [это] [1] SO вопрос, чтобы показать конечные символы показывает 0 результаты:
SELECT * FROM Foo WHERE CHAR_LENGTH(field) != CHAR_LENGTH(TRIM(field))
Запрос:
SELECT DISTINCT ts.daysofweek FROM tsm_schedules ts, tsm_nodes tn
WHERE tn.node_name = ? AND tn.schedule = ts.name;
есть еще один способ, чтобы выяснить, какие конечные символы есть, они в любом уходе невидимые. Это не возможность вручную редактировать все поля, так как есть 1500+ узлов. Любая помощь приветствуется.
EDIT2: Чтобы сделать вещи более странными, когда я редактирую узел БЕЗ настройки любой информации через PHPMyAdmin и сохраняя ее снова, запрос работает для этого узла.
EDIT:
В ответ на предложение Йенса: Это ничего полезного не показывает:
+--------------------------------+
| HEX(node_name) |
+--------------------------------+
| 424F4E4866733031 |
| 424F4E486C696E3031 |
| 73716C32303035 |
| 57324B382D6170706C31 |
| 57326B382D737978 |
| 4172636F323030382D3332626974 |
| 70726E736572766572 |
| 5365727665724172636F |
| 77326B382D67656F6974 |
| 77326B382D736563757265 |
| 57324B382D65786368616E6765 |
| 57326B382D7368617265706F696E74 |
| 41444D2D41444D494E |
| 42524F434144455242 |
| 41434E5F53514C5F44423032 |
| 41434E5F53514C5F4442 |
| 41434E5F53514C5F44423031 |
| 4745414343415448454E41 |
| 47454143434242433031 |
| 47454143434242433033 |
| 47454143434242433034 |
| 47454143434242433035 |
| 474541434345525041 |
| 474541434345525043 |
| 474541434345525045 |
+--------------------------------+
Allso запрос от Рахуло Tripathi не устанавливает либо:
UPDATE tsm_nodes SET node_name = TRIM(BOTH UNHEX('C2A0') FROM node_name)
Вы можете использовать 'hex' Funtion для sinf, что конечные полукокса у вас есть – Jens
Вы можете попробовать это:' TRIM (ОБА UNHEX ('C2A0') FROM имя_узла) ' –