Удалить пробелы postgresql
3 года назад
Nikolai Gagarinov
Ответы
Для удаления пробелов из текстового поля в PostgreSQL, вы можете использовать функцию REPLACE в комбинации с функцией TRIM. Например, предположим, у вас есть таблица users с полем full_name, содержащим пробелы в начале, середине и в конце:
Этот запрос удалит все пробелы из поля full_name в таблице users. Первая функция REPLACE заменяет все пробелы на пустую строку, а вторая функция TRIM удаляет пробелы из начала и конца строки. Таким образом, вы получите значение поля full_name без пробелов.
Не забудьте сделать резервную копию данных перед выполнением запроса UPDATE, чтобы избежать потери информации.
3 года назад
Elena Gromova
Функция зависит от того, какие пробелы нужно убрать.
Пробелы по краям
trim убирает только пробелы. Табы и переводы строк останутся. Чтобы убрать и их, перечислите символы вторым аргументом:
Все пробелы внутри строки
Любые пробельные символы
Флаг 'g' заменяет все совпадения. Без него заменится только первое.
Лишние пробелы между словами
Неразрывный пробел
Если строку скопировали из Word или с сайта, в ней может быть неразрывный пробел. trim и \s его не трогают. Его убирают по коду символа:
Обновить данные в таблице
Сначала проверьте результат через SELECT:
Потом обновите только изменившиеся строки:
Условие WHERE не даёт переписывать строки, где менять нечего.
Пробелы в CHAR
У типа char(n) PostgreSQL сам дополняет строку пробелами до длины n. Если хвостовые пробелы мешают, храните данные в varchar или text.
Функции для строк, SELECT и UPDATE разбирают в бесплатном курсе «Основы SQL».
11 часов назад
Никита Вихров






