Как я могу заменить повторяющиеся текстовые значения в MySQL?

Майкл Оуэн:

Я ищу некоторую помощь, чтобы заменить повторяющиеся текстовые значения, которые я нашел в одном из моих колонок. Когда я запускаю следующий код, чтобы дать мне четкий список для data_file «SME» Я получаю этот результат:

SELECT DISTINCT Data_Source from master_table WHERE Data_File LIKE '%Sme%';

Выход

Data_File
Sme
Sme
Sme

Затем я побежал следующий запрос обновления, чтобы заменить их все:

UPDATE master_table SET Data_File = REPLACE(Data_File, 'Sme', 'SME') WHERE Data_File LIKE '%Sme%';

Это соответствует всем строкам и заменяет их все, но когда я потом запустить свой первоначальный запрос, я ожидал получить только 1 значение, но я получаю следующее:

SELECT DISTINCT Data_Source from master_table WHERE Data_File LIKE '%SME%';

Выход

Data_File
SME
SME
SME

Не знаете, где я неправильно, как я бы подумал, что это бы дало мне значение 1 и устранить дубликаты.

Любые советы будут действительно оценены.

Вишал Шарма:

Я мог бы воспроизвести случай вы упомянули, прилагая пробельные символы в значениях столбцов. Я также в состоянии видеть дубликаты в этом случае только и не иначе.

Вопрос в том, когда вы замените запрос, вы просто заменить один шаблон другого рисунка и все остальные символы остаются как это. Если вы могли бы напечатать длину значений столбцов, а также, вы должны найти разницу там.

В запросе на выборку можно попытаться использовать функцию TRIM () после того, как отдельного пункта. Это должно дать вам ожидаемый результат.

рекомендация

отhttp://43.154.161.224:23101/article/api/json?id=28736&siteId=1