Menu
Coddy logo textTech

REPLACE и TRIM

Часть раздела Продвинутый уровень путешествия по SQL на Coddy — урок 9 из 27.

REPLACE(s, find, with) заменяет каждое вхождение find в s на with:

REPLACE('555-123-4567', '-', '')   -- '5551234567'

TRIM(s) удаляет пробелы с обоих концов. Передайте второй аргумент, чтобы обрезать другие символы, и используйте LTRIM / RTRIM для односторонней обрезки:

TRIM('  hi  ')          -- 'hi'
TRIM('---hi---', '-')   -- 'hi'

Вот как можно очистить данные столбцов непосредственно в запросе без обновления таблицы.

challenge icon

Задание

Легко

Доступные таблицы и столбцы:

  • <strong>contacts</strong>: <strong>id</strong>, <strong>phone</strong>

Каждый phone может содержать начальные/конечные пробелы и любое количество разделителей -. Верните id и столбец clean, в котором удалены все пробелы и тире. Отсортируйте по id.

Шпаргалка

REPLACE(s, find, with) заменяет каждое вхождение подстроки:

REPLACE('555-123-4567', '-', '')  -- '5551234567'

TRIM(s) удаляет пробелы с обоих концов; передайте второй аргумент, чтобы удалить другие символы. Используйте LTRIM / RTRIM для одностороннего удаления:

TRIM('  hi  ')         -- 'hi'
TRIM('---hi---', '-')  -- 'hi'

Функции могут быть вложенными для применения нескольких очисток одновременно:

SELECT REPLACE(TRIM(phone), '-', '') AS clean FROM contacts;

Попробуйте сами

SELECT id,
       -- удалить пробелы и тире
FROM contacts
ORDER BY id
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Продвинутый уровень