Я импортировал электронную таблицу Excel в таблицу сервера sql, если я копирую и вставляю ячейку в блокнот, например, она содержит много пробелов после слова
например
"absconding
"
Но это должно быть просто:
"absconding"
Другой пример:
"access to healthcare
"
как и разрыв строки, я мог бы обрезать все пробелы в этом столбце, но есть много записей, которые являются предложениями
есть ли способ избавиться от всех пробелов после последнего слова / слов?
проверьте правки, кто-то удалил этот тег
Нет проблем, надеюсь, ваша проблема была решена






Вы можете использовать функцию TRIM(). Функция MySQL TRIM () возвращает строку после удаления всех префиксов или суффиксов из данной строки.
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM ] str)
Пример:
SELECT TRIM(' trim ');
Выход:
trim
В вашем случае данные уже находятся в базе данных, и вы хотите очистить пробелы или любые другие нежелательные символы, вы можете использовать функцию TRIM в операторе UPDATE:
UPDATE tblGloss
SET
TITLE = TRIM(Replace(Replace(TITLE,'\t',''),'\n',''));
Примечание. Если вы хотите удалить только начальные или конечные пробелы, вы можете использовать другие строковые функции: LTRIM и RTRIM.
В моей таблице около 580 строк, имя столбца называется "TITLE", а имя таблицы - "tblGloss".
скажи мне, если есть какие-то проблемы
Каждый раз, когда я запускаю его, он говорит, что каждый раз меняет одинаковое количество строк и по какой-то причине не применяется.
включить "\ n" с "" в функцию обрезки
На самом деле это не дает ошибки, говоря, что он меняет 463 строки, но не удаляет пробел
Сообщение 102, уровень 15, состояние 1, строка 130 Неправильный синтаксис рядом с '\ n'. он дает эту ошибку с разрывом строки
получите следующую ошибку: Сообщение 195, уровень 15, состояние 10, строка 5 «TRIM» не является распознанным именем встроенной функции.
Вопрос помечен как sql server, ваш ответ использует специфическую функцию mysql.
когда я начал кодировать, это был mysql
вы используете sql server или mysql?
вопрос-хамелеон. -1 за вопрос тоже за зря все время.
а в чем моя ошибка, если op меняет теги?
@: Abhishek Keshri, я не менял тег?!? я действительно ценю помощь!
Хорошо, без проблем ... Рад помочь :)
@ lanes123 какую базу данных вы используете? Ваши сообщения об ошибках указывают на то, что вы выполняете запрос в Microsoft SQL Server.
Вы можете комбинировать replace для удаления разрывов строк и rtrim для удаления пробелов справа:
declare @x varchar(200)
set @x='absconding
'
select rtrim(replace(replace(@x,CHAR(10),''),CHAR(13),''))
Это сработает для этого одного слова, но не для всего столбца?
Это работает для колонки, я использовал @x только для демонстрации
что, если в середине строки есть \r или \n?
Вы отметили
mysql, но здесь это не имеет значения. Хотите очистить эти данные в Excel?