UPPER, LOWER, SUBSTRING, REPLACE
Нормализуйте регистр, извлекайте подстроки по позиции и длине и заменяйте шаблоны внутри текста
«UPPER, LOWER, SUBSTRING, REPLACE» — бесплатный урок SQL Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SQL Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SQL Academy содержит 4 уроков всего.
Преобразование регистра
Две основные функции:
SELECT UPPER('hello'); -- HELLO
SELECT LOWER('Hello'); -- hello
SELECT INITCAP('hello world'); -- 'Hello World' (PostgreSQL extension)Зачем нормализовать регистр
Сравнение адресов электронной почты должно быть нечувствительным к регистру, но регистр следует сохранять при хранении. Нормализуйте значения во время сравнения:
SELECT * FROM users WHERE LOWER(email) = LOWER('USER@Example.COM');
-- Or use a functional index:
CREATE INDEX users_email_lower_idx ON users (LOWER(email));Citext: текстовый тип без учёта регистра
Для столбца, значения которого всегда должны сравниваться без учёта регистра, используйте расширение citext:
CREATE EXTENSION IF NOT EXISTS citext;
CREATE TABLE users (email CITEXT UNIQUE);SUBSTRING
Извлекайте подстроку, указывая начальную позицию и длину:
SELECT SUBSTRING('PostgreSQL', 1, 4); -- 'Post'
SELECT SUBSTRING('PostgreSQL' FROM 5); -- 'greSQL'
-- 1-based indexing, not 0-basedSUBSTRING с регулярным выражением
PostgreSQL также принимает шаблон регулярного выражения:
SELECT SUBSTRING('user@example.com' FROM '@(.+)$');
-- 'example.com'LEFT и RIGHT
Сокращённые варианты для получения «первых N» и «последних N» символов:
SELECT LEFT('PostgreSQL', 4); -- 'Post'
SELECT RIGHT('PostgreSQL', 3); -- 'SQL'REPLACE
Заменяйте каждое вхождение подстроки:
SELECT REPLACE('hello world', 'world', 'SQL'); -- 'hello SQL'
SELECT REPLACE(phone, '-', ''); -- strip dashesREGEXP_REPLACE
Заменяйте значения по шаблону:
SELECT REGEXP_REPLACE('Order #1234', '[^0-9]', '', 'g'); -- '1234'
SELECT REGEXP_REPLACE(text, '\s+', ' ', 'g'); -- collapse whitespaceLENGTH и CHAR_LENGTH
Длина в символах, а не в байтах (с учётом Unicode):
SELECT LENGTH('héllo'); -- 5
SELECT CHAR_LENGTH('héllo'); -- 5
SELECT OCTET_LENGTH('héllo'); -- 6 (UTF-8 byte length)POSITION и STRPOS
Находите индекс подстроки:
SELECT POSITION('SQL' IN 'PostgreSQL'); -- 8
SELECT STRPOS('PostgreSQL', 'SQL'); -- 8REVERSE
Разворачивайте строку:
SELECT REVERSE('hello'); -- 'olleh'Повторение
Преобразование регистра, работа с подстроками и замена покрывают большинство задач обработки текста.
- LOWER и UPPER для нормализации
- SUBSTRING для извлечения фрагментов
- REPLACE для фиксированных замен, REGEXP_REPLACE для замены по шаблонам
Быстрая проверка
Что возвращает SUBSTRING('database', 5, 4)?
Часто задаваемые вопросы
Урок «UPPER, LOWER, SUBSTRING, REPLACE» бесплатный?
Да — полный текст урока «UPPER, LOWER, SUBSTRING, REPLACE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SQL Academy, подпишись на CoddyKit PRO. Курс SQL Academy содержит 4 уроков всего.
Чему я научусь в уроке «UPPER, LOWER, SUBSTRING, REPLACE»?
Нормализуйте регистр, извлекайте подстроки по позиции и длине и заменяйте шаблоны внутри текста Ты практикуешь SQL Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SQL Academy?
Предыдущий опыт не требуется. SQL Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «UPPER, LOWER, SUBSTRING, REPLACE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SQL Academy?
Да. Каждый урок SQL Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Конкатенация: || и CONCAT
- UPPER, LOWER, SUBSTRING, REPLACE
- TRIM, LPAD, RPAD
- Введение в полнотекстовый поиск (tsvector, to_tsquery)