TRIM, LPAD, RPAD
Очищайте пробелы с помощью TRIM/LTRIM/RTRIM и дополняйте идентификаторы фиксированной длины функциями LPAD и RPAD
«TRIM, LPAD, RPAD» — бесплатный урок SQL Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SQL Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SQL Academy содержит 4 уроков всего.
TRIM: удаление дополнения
По умолчанию удаляет пробелы в начале и конце:
SELECT TRIM(' hello '); -- 'hello'
SELECT LTRIM(' hello '); -- 'hello '
SELECT RTRIM(' hello '); -- ' hello'TRIM с пользовательскими символами
Удаляйте произвольные символы:
SELECT TRIM(BOTH '0' FROM '0001230'); -- '123'
SELECT TRIM(LEADING '#' FROM '#hashtag'); -- 'hashtag'Очистка пользовательского ввода
Всегда удаляйте лишние пробелы из строк, введённых пользователем, при выполнении insert/update — иначе ' bob ' и 'bob' будут разными строками:
INSERT INTO users (full_name) VALUES (TRIM(:input));
-- Or enforce at the database with a trigger / CHECK:
ALTER TABLE users
ADD CONSTRAINT name_not_padded CHECK (full_name = TRIM(full_name));LPAD и RPAD
Дополняйте значение до фиксированной ширины:
SELECT LPAD('7', 4, '0'); -- '0007' (left-pad)
SELECT RPAD('hi', 5, '.'); -- 'hi...' (right-pad)
SELECT LPAD(id::TEXT, 6, '0') FROM orders; -- '000123'Создание вывода в стиле чека
Объединяйте PAD и CONCAT для отчётов с моноширинным шрифтом:
SELECT RPAD(product_name, 20, '.') || LPAD(price::TEXT, 8, '.') FROM products;TRANSLATE: посимвольное преобразование
Каждый символ во втором аргументе сопоставляется с символом на той же позиции в третьем аргументе:
SELECT TRANSLATE('abc123', 'abc', 'xyz'); -- 'xyz123'
SELECT TRANSLATE(phone, '-() ', ''); -- strip multiple chars at onceРазделение строк
Разделяйте строку на массив:
SELECT STRING_TO_ARRAY('a,b,c,d', ','); -- {'a','b','c','d'}
SELECT REGEXP_SPLIT_TO_ARRAY('a1 b2 c3', '\s+');Преобразование массива обратно в строки
Используйте UNNEST, чтобы развернуть столбец-массив в строки:
SELECT id, UNNEST(tags) AS tag FROM posts;Объединение массивов обратно в строки
Обратная операция к разделению:
SELECT ARRAY_TO_STRING(ARRAY['a','b','c'], ', '); -- 'a, b, c'REPEAT
Повторяйте строку N раз:
SELECT REPEAT('-', 30); -- 30 dashes
SELECT 'Hello' || REPEAT('!', 5); -- 'Hello!!!!!'Дополнение и хранение
Не используйте CHAR(n), чтобы «создать вид дополненного значения»: он хранит значения с дополнением пробелами и приводит к неожиданностям. Используйте VARCHAR или TEXT, а дополнение выполняйте во время SELECT, когда оно нужно для отображения.
Повторение
Обработка строк рассмотрена: очищайте пользовательский ввод при сохранении, дополняйте значения для отображения и используйте посимвольное преобразование, когда нужны таблицы соответствий символов.
Быстрая проверка
Вы хотите отформатировать идентификатор заказа как строку из 6 цифр с дополнением нулями (например, 000123). Какую функцию следует использовать?
Часто задаваемые вопросы
Урок «TRIM, LPAD, RPAD» бесплатный?
Да — полный текст урока «TRIM, LPAD, RPAD» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SQL Academy, подпишись на CoddyKit PRO. Курс SQL Academy содержит 4 уроков всего.
Чему я научусь в уроке «TRIM, LPAD, RPAD»?
Очищайте пробелы с помощью TRIM/LTRIM/RTRIM и дополняйте идентификаторы фиксированной длины функциями LPAD и RPAD Ты практикуешь SQL Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SQL Academy?
Предыдущий опыт не требуется. SQL Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «TRIM, LPAD, RPAD»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SQL Academy?
Да. Каждый урок SQL Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Конкатенация: || и CONCAT
- UPPER, LOWER, SUBSTRING, REPLACE
- TRIM, LPAD, RPAD
- Введение в полнотекстовый поиск (tsvector, to_tsquery)