Различное имя SQL, потянув дубликаты – уже избавилось от пробелов

Изменить: решение, предоставленное vax, было успешным и должно работать практически для всех, кто сталкивается с подобной проблемой, поскольку он заменяет 4 разных типа интервала, а не просто пробелы. Спасибо всем, кто оказал помощь!

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

Вот запрос, который у меня есть: select distinct replace(final_industry,' ','') from industryNorm

это результат, который генерируется:

  1. Автомобили, AerospaceandDefense, транспорт, путешествия, IndustrialProducts, andInfrastructure
  2. Автомобили, AerospaceandDefense, транспорт, путешествия, IndustrialProducts, andInfrastructure
  3. Связь, СМИ и технологии
  4. ConsumerIndustriesandRetail
  5. ConsumerIndustriesandRetail
  6. Топливно-энергетический комплекс, здравоохранение и ProcessIndustries
  7. финансовые услуги
  8. финансовые услуги

Как вы можете видеть, многие из повторений. Кажется, что у них все еще есть пробелы в конце, но я не понимаю, почему, поскольку я запустил функцию replace, чтобы избавиться от них. Я также запустил замену, чтобы поставить | в месте любого пространства, и когда я делаю это, пробелы в конце не появляются. Почему это? Что я могу сделать?

Может ли кто-нибудь помочь мне с этим? Благодаря!

Если вы считаете, что проблема связана с другими пробелами, у меня был аналогичный вопрос, который кто-то ответил

 select distinct replace(replace(replace(replace( final_industry ,char(9)/*tab*/,'') ,char(10)/*newline*/,'') ,char(13)/*carriage return*/,'') ,char(32)/*space*/,'') from industryNorm 

Попробуйте RTrim () и LTrim () вместо Replace (). Trim () позаботится о других персонажах, а не ' ' .

Возможно, вы столкнулись с очень-очень старой ошибкой в ​​функции замены.

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

 replace(replace(final_industry,' ',''), ' ','') 

Это может не помочь в вашем случае, но у меня были времена, когда первая замена фактически не заменила все правильно.

Вот еще несколько объяснений, почему и как это происходит: https://www.xaprb.com/blog/2005/11/15/a-bug-in-microsoft-sql-servers-replace-function/

Решение, данное пользователем Vax.

  select distinct replace(replace(replace(replace( final_industry ,char(9)/*tab*/,'') ,char(10)/*newline*/,'') ,char(13)/*carriage return*/,'') ,char(32)/*space*/,'') from industryNorm 
  • Игнорировать случай в SQL Server заменить
  • Pivot в SQL разбивается на пробелы
  • case для удаления лишних пробелов только тогда, когда есть
  • TSQL - Заменить строку перед символом
  • Замена TSQL с использованием подстроки также заменяет другие части строки
  • Самый удобный способ сделать замену строк по всей базе данных?
  • Объединение функций LTRIM и RTIM и REPLACE в MSSQL
  • Использовать значение столбца как шаблон строки в функции REPLACE
  • Замена строковых значений в SQL
  • MSSQL replace isue
  • SQL -how для удаления всех символов ASCII (пробелы после ввода поля)
  • Давайте будем гением компьютера.