❤️ Спасибо всем, кто поддержал проект! В прошлом месяце вы задонатили почти $100 — это позволяет в этом месяце держать сервис бесплатным для всех. Очень надеюсь на вашу поддержку и в следующем месяце. Поддержать →
SQL код скопирован в буфер обмена
EN PT FR

Урок 3.1 · Время чтения: ~8 мин

В этом уроке вы познакомитесь с темой «функции sql» и поймете, как встроенные функции помогают обрабатывать данные прямо в запросе. Мы разберем базовый синтаксис, типы функций и практические примеры на таблицах Sakila. К концу урока вы сможете уверенно применять функции SQL в реальных аналитических задачах.

Встроенные функции SQL

В предыдущих уроках вы научились выбирать, фильтровать и сортировать строки. Теперь следующий шаг - вычислять и преобразовывать значения внутри запроса без дополнительной обработки в приложении.

Именно здесь особенно полезны встроенные функции SQL: они делают запросы выразительнее, помогают сократить лишнюю логику и ускоряют подготовку данных для отчетов.

Встроенные функции SQL


Что такое встроенные функции SQL

Встроенная функция SQL - это готовая операция, которую предоставляет СУБД. Функция принимает аргументы и возвращает новое значение: строку, число, дату или логический результат.

Функции используют, когда нужно:

  • привести текст к нужному виду;
  • выполнить вычисление в запросе;
  • извлечь часть даты или строки;
  • преобразовать тип данных.

Базовый синтаксис

FUNCTION_NAME(argument1, argument2, ...)

Где:

  • FUNCTION_NAME - имя функции;
  • argument1, argument2, ... - столбцы, литералы или результаты других функций.

Пример простого вызова функции:

SELECT
	UPPER(first_name) AS upper_name
FROM customer
LIMIT 5;

Результат: каждое значение first_name переводится в верхний регистр.

Также можно использовать вложенные вызовы, когда результат одной функции передается в другую.

Пример вложенного вызова функции:

SELECT
	UPPER(TRIM(first_name)) AS normalized_name
FROM customer
LIMIT 5;

Результат: пробелы по краям удаляются, затем имя приводится к верхнему регистру.


Где чаще всего применяют функции

Функции в SELECT

В SELECT функции помогают сформировать удобный вывод.

SELECT
	customer_id,
	CONCAT(first_name, ' ', last_name) AS full_name,
	UPPER(email) AS email_upper
FROM customer
LIMIT 10;

Примечание: в этом примере используется только одна таблица, а функции сразу форматируют выходные столбцы в SELECT.

Функции в WHERE

В WHERE функции позволяют фильтровать по вычисляемому условию.

SELECT
	title,
	rental_duration
FROM film
WHERE LENGTH(title) >= 15
  AND ABS(rental_duration - 5) <= 2
ORDER BY title;

Результат: выводятся фильмы с более длинными названиями и сроком аренды, близким к 5 дням.


Основные типы функций SQL

Строковые функции

Примеры: UPPER, LOWER, TRIM, SUBSTRING, CONCAT.

Используются для очистки и форматирования текстовых полей.

Математические функции

Примеры: ROUND, ABS, CEILING, FLOOR, MOD.

Используются для расчетов, округлений и контроля числовых значений.

Функции даты и времени

Примеры: NOW, CURRENT_DATE, YEAR, MONTH, DATE_ADD, DATEDIFF.

Используются для анализа периодов, интервалов и динамики по времени.

Функции преобразования типов

Примеры: CAST, CONVERT.

Используются, когда нужно явно привести данные к правильному типу.


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

  • Всегда проверяйте, как функция ведет себя в вашей СУБД: синтаксис и детали могут отличаться.
  • Используйте псевдонимы AS, чтобы вычисляемые поля было проще читать.
  • Учитывайте NULL: результат функции может стать NULL, если один из аргументов пустой.
  • Не перегружайте один запрос десятками вложенных функций; лучше разбивать логику на этапы.

Ключевые выводы этого урока:

  • Встроенные функции SQL позволяют обрабатывать данные прямо в запросе.
  • Функции в SELECT помогают формировать удобный результат, а в WHERE - точнее фильтровать строки.
  • Строковые, математические, временные и функции преобразования закрывают большинство базовых задач.
  • Корректная работа с типами данных и NULL критична для предсказуемого результата.
  • Грамотное использование функций делает SQL-запросы короче, понятнее и полезнее для аналитики.

Вопросы для собеседования

Что такое встроенная функция SQL и зачем она нужна?

Встроенная функция SQL - это заранее определенная операция, предоставляемая СУБД. Она нужна, чтобы преобразовывать, вычислять и форматировать данные прямо в запросе.

Почему функции SQL часто используют и в SELECT, и в WHERE?

В SELECT функции помогают формировать или вычислять значения для вывода. В WHERE они помогают фильтровать строки по вычисляемым условиям.

Что такое вложенный вызов функции и когда он нужен?

Вложенный вызов функции - это передача результата одной функции в другую. Он полезен, когда данные нужно обработать в несколько шагов, например UPPER(TRIM(first_name)).

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