Различное имя SQL, потянув дубликаты – уже избавилось от пробелов
Изменить: решение, предоставленное vax, было успешным и должно работать практически для всех, кто сталкивается с подобной проблемой, поскольку он заменяет 4 разных типа интервала, а не просто пробелы. Спасибо всем, кто оказал помощь!
У меня есть таблица, которая дает имена промышленности, но для одного из столбцов разные значения имеют дубликаты.
Вот запрос, который у меня есть: select distinct replace(final_industry,' ','') from industryNorm
- Как заменить char (10) на что-то еще в c #
- SQL Server: update replace statement - ошибка кода или ошибка?
- Как заменить NEWID () в файле сценария sql на фактическое случайное руководство?
- Объединение функций LTRIM и RTIM и REPLACE в MSSQL
- Как конкретно заменить в MsSQL?
это результат, который генерируется:
- Автомобили, AerospaceandDefense, транспорт, путешествия, IndustrialProducts, andInfrastructure
- Автомобили, AerospaceandDefense, транспорт, путешествия, IndustrialProducts, andInfrastructure
- Связь, СМИ и технологии
- ConsumerIndustriesandRetail
- ConsumerIndustriesandRetail
- Топливно-энергетический комплекс, здравоохранение и ProcessIndustries
- финансовые услуги
- финансовые услуги
Как вы можете видеть, многие из повторений. Кажется, что у них все еще есть пробелы в конце, но я не понимаю, почему, поскольку я запустил функцию replace, чтобы избавиться от них. Я также запустил замену, чтобы поставить | в месте любого пространства, и когда я делаю это, пробелы в конце не появляются. Почему это? Что я могу сделать?
Может ли кто-нибудь помочь мне с этим? Благодаря!
- Замена строковых значений в SQL
- MSSQL - Маскирование данных на основе таблицы сопоставления
- Заменить символ метки кавычки в таблице с помощью SQL
- Замена имени узла в XML, хранящемся в столбце базы данных SQL Server
- замените ntext (более 4000 символов) на SQL Server 2000
- SQL -how для удаления всех символов ASCII (пробелы после ввода поля)
- SQL-обход REPLACE по оператору CASE
- Заменить нулевую строку нулевым значением
Если вы считаете, что проблема связана с другими пробелами, у меня был аналогичный вопрос, который кто-то ответил
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