Импорт SQL - ячейки содержат пробелы

Я импортировал электронную таблицу Excel в таблицу сервера sql, если я копирую и вставляю ячейку в блокнот, например, она содержит много пробелов после слова

например

"absconding

"

Но это должно быть просто:

"absconding"

Другой пример:

"access to healthcare

"

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

есть ли способ избавиться от всех пробелов после последнего слова / слов?

Вы отметили mysql, но здесь это не имеет значения. Хотите очистить эти данные в Excel?

JNevill 20.04.2018 21:56

проверьте правки, кто-то удалил этот тег

lanes123 20.04.2018 22:41

Нет проблем, надеюсь, ваша проблема была решена

Abhishek Keshri 20.04.2018 22:45
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
2
3
662
2

Ответы 2

Вы можете использовать функцию 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".

lanes123 20.04.2018 21:59

скажи мне, если есть какие-то проблемы

Abhishek Keshri 20.04.2018 22:14

Каждый раз, когда я запускаю его, он говорит, что каждый раз меняет одинаковое количество строк и по какой-то причине не применяется.

lanes123 20.04.2018 22:17

включить "\ n" с "" в функцию обрезки

Abhishek Keshri 20.04.2018 22:23

На самом деле это не дает ошибки, говоря, что он меняет 463 строки, но не удаляет пробел

lanes123 20.04.2018 22:26

Сообщение 102, уровень 15, состояние 1, строка 130 Неправильный синтаксис рядом с '\ n'. он дает эту ошибку с разрывом строки

lanes123 20.04.2018 22:27

получите следующую ошибку: Сообщение 195, уровень 15, состояние 10, строка 5 «TRIM» не является распознанным именем встроенной функции.

lanes123 20.04.2018 22:34

Вопрос помечен как sql server, ваш ответ использует специфическую функцию mysql.

Salman A 20.04.2018 22:34

когда я начал кодировать, это был mysql

Abhishek Keshri 20.04.2018 22:34

вы используете sql server или mysql?

Abhishek Keshri 20.04.2018 22:35

вопрос-хамелеон. -1 за вопрос тоже за зря все время.

Salman A 20.04.2018 22:36

а в чем моя ошибка, если op меняет теги?

Abhishek Keshri 20.04.2018 22:37

@: Abhishek Keshri, я не менял тег?!? я действительно ценю помощь!

lanes123 20.04.2018 22:40

Хорошо, без проблем ... Рад помочь :)

Abhishek Keshri 20.04.2018 22:43

@ lanes123 какую базу данных вы используете? Ваши сообщения об ошибках указывают на то, что вы выполняете запрос в Microsoft SQL Server.

Salman A 21.04.2018 01:39

Вы можете комбинировать replace для удаления разрывов строк и rtrim для удаления пробелов справа:

declare @x varchar(200)
set @x='absconding

'
select rtrim(replace(replace(@x,CHAR(10),''),CHAR(13),''))

Это сработает для этого одного слова, но не для всего столбца?

lanes123 20.04.2018 22:04

Это работает для колонки, я использовал @x только для демонстрации

Ricardo Pontual 20.04.2018 22:08

что, если в середине строки есть \r или \n?

Salman A 20.04.2018 23:19

Другие вопросы по теме