SQL код скопирован в буфер обмена
Узнайте, как эффективно работать с текстовыми данными в SQL! В этом уроке вы изучите основные строковые функции, такие как `UPPER`, `LOWER`, `LENGTH`, `SUBSTRING`, `CONCAT` и другие. Научитесь очищать, форматировать и извлекать ценную информацию из текстовых данных в вашей базе данных. Практические примеры и кейсы помогут вам освоить использование строковых функций для улучшения SQL-запросов и анализа данных.
EN PT

Урок 3.2: Основные строковые функции в SQL

Строковые функции в SQL используются для манипуляции и преобразования текстовых данных. Эти функции необходимы для очистки, форматирования и извлечения информации из текстовых столбцов в базе данных. В этом уроке рассматриваются некоторые из наиболее часто используемых строковых функций и приводятся практические примеры.

Общие строковые функции

UPPER() - Преобразует строку в верхний регистр.

Синтаксис:

UPPER(string)

Пример:

SELECT UPPER(first_name) AS uppercase_name
FROM employees;

Результат: Преобразует все значения first_name в верхний регистр.

LOWER() - Преобразует строку в нижний регистр.

Синтаксис:

LOWER(string)

Пример:

SELECT LOWER(last_name) AS lowercase_name
FROM employees;

Результат: Преобразует все значения last_name в нижний регистр.

LENGTH() или LEN() - Возвращает длину строки (количество символов).

Синтаксис:

LENGTH(string) -- Для большинства баз данных
LEN(string)    -- Для SQL Server

Пример:

SELECT LENGTH(product_name) AS name_length
FROM products;

Результат: Возвращает количество символов в каждом значении product_name.

SUBSTRING() или SUBSTR() - Извлекает часть строки.

Синтаксис:

SUBSTRING(string, start_position, length) -- Для большинства баз данных
SUBSTR(string, start_position, length)    -- Для Oracle и других

Пример:

SELECT SUBSTRING(email, 1, 5) AS email_prefix
FROM users;

Результат: Извлекает первые 5 символов из столбца email.

CONCAT() - Объединяет две или более строк в одну.

Синтаксис:

CONCAT(string1, string2, ...)

Пример:

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

Результат: Объединяет first_name и last_name в одно значение full_name.

TRIM() - Удаляет начальные и конечные пробелы из строки.

Синтаксис:

TRIM(string)

Пример:

SELECT TRIM('   SQL Basics   ') AS trimmed_string;

Результат: Возвращает 'SQL Basics' без начальных и конечных пробелов.

REPLACE() - Заменяет вхождения подстроки в строке.

Синтаксис:

REPLACE(string, old_substring, new_substring)

Пример:

SELECT REPLACE(phone_number, '-', '') AS cleaned_phone
FROM contacts;

Результат: Удаляет дефисы из значений phone_number.

INSTR() или CHARINDEX() - Находит позицию подстроки в строке.

Синтаксис:

INSTR(string, substring)       -- Для большинства баз данных
CHARINDEX(substring, string)   -- Для SQL Server

Пример:

SELECT INSTR(email, '@') AS at_position
FROM users;

Результат: Возвращает позицию символа @ в столбце email.

LEFT() и RIGHT() - Извлекает указанное количество символов из начала или конца строки.

Синтаксис:

LEFT(string, number_of_characters)
RIGHT(string, number_of_characters)

Пример:

SELECT LEFT(product_code, 3) AS product_prefix,
       RIGHT(product_code, 4) AS product_suffix
FROM products;

Результат: Извлекает первые 3 символа и последние 4 символа из product_code.

FORMAT() или TO_CHAR() - Форматирует строку или число в определенном формате.

Синтаксис:

FORMAT(value, format)       -- Для SQL Server
TO_CHAR(value, format)      -- Для Oracle

Пример:

SELECT FORMAT(salary, 'C') AS formatted_salary
FROM employees;

Результат: Форматирует столбец salary как валюту.

Практическое применение

  1. Очистка данных: Используйте TRIM() и REPLACE() для очистки данных, например, удаления лишних пробелов или нежелательных символов.

  2. Форматирование вывода: Используйте UPPER(), LOWER() и CONCAT() для стандартизации и форматирования текста в отчетах.

  3. Извлечение информации: Используйте SUBSTRING(), LEFT() и RIGHT() для извлечения определенных частей строки, таких как префиксы или доменные имена.

  4. Проверка данных: Используйте LENGTH() и INSTR() для проверки структуры строк, например, длины телефонных номеров или наличия символа @ в адресах электронной почты.

Основные выводы из этого урока

Строковые функции — это важные инструменты для работы с текстовыми данными в SQL. Освоив эти функции, вы сможете очищать, форматировать и извлекать ценную информацию из ваших данных. Практикуйтесь с этими функциями в реальных сценариях, чтобы улучшить свои навыки работы с SQL.