SELECT
TRIM(name) AS name_clean
FROM users
LIMIT 2;
Результат:
name_clean ---------- Анна Игорь
SELECT
TRIM(BOTH '0' FROM code) AS code_clean
FROM orders
LIMIT 2;
Результат:
code_clean ---------- 451 78
SELECT
TRIM(LOWER(email)) AS email_key
FROM users
LIMIT 2;
Результат:
email_key ------------- anna@mail.ru igor@mail.ruПорешать SQL-задачи в тренажёре →
На собесе всплывает при чистке данных перед JOIN и GROUP BY — пробелы по краям создают «фантомные» дубли групп. Идёт в паре с LOWER, REPLACE и COALESCE.
TRIM по умолчанию срезает символы с обеих сторон (или с указанной через LEADING/TRAILING). LTRIM обрезает только слева, RTRIM — только справа. Когда нужно снять пробелы лишь с одного края, LTRIM/RTRIM точнее и понятнее.
Нет, SQLite не понимает ключевые слова LEADING/TRAILING/BOTH и FROM. Используйте двухаргументную форму TRIM(code, '0') или LTRIM/RTRIM с указанием символов. Полный синтаксис работает в PostgreSQL и MySQL.
TRIM по умолчанию работает только с пробелами. Передайте нужный символ явно, например TRIM(BOTH E'\t' FROM col) в PostgreSQL, либо предварительно замените табы и переносы через REPLACE, а затем примените TRIM.
Строковые функции · null-handling
COALESCE · NULLIF · COUNT · SUBSTR · CAST · CONCAT
Открыть SQL-тренажёр (565 задач) →