SQL код скопирован в буфер обмена
EN PT FR

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

Что такое функции SQL?

Функция SQL — это заранее определенная операция, которая принимает входные значения (аргументы) и возвращает результат. Функции бывают встроенными (их предоставляет СУБД) и пользовательскими (их создают разработчики), но в этом уроке мы рассматриваем только встроенные функции.

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

Общий синтаксис

Общий синтаксис для использования функции в SQL:

FUNCTION_NAME(argument1, argument2, ...);
  • FUNCTION_NAME: Имя функции, которую вы хотите использовать.
  • argument1, argument2, ...: Входные значения (аргументы), которые требуются функции. Это могут быть имена столбцов, литеральные значения или даже другие функции.

Использование функций в разделе SELECT

Функции в разделе SELECT позволяют преобразовывать или вычислять значения для вывода.

Пример 1: Строковая функция (UPPER)

Функция UPPER() преобразует строку в верхний регистр.

SELECT UPPER(first_name) AS uppercase_name
FROM employees;

Этот запрос извлекает столбец first_name из таблицы employees и преобразует каждое имя в верхний регистр, присваивая результату псевдоним uppercase_name.


Пример 2: Математическая функция (ROUND)

Функция ROUND() округляет число до указанного количества десятичных знаков.

SELECT ROUND(salary, 0) AS rounded_salary
FROM employees;

Этот запрос извлекает столбец salary из таблицы employees и округляет каждую зарплату до ближайшего целого числа, присваивая результату псевдоним rounded_salary.


Пример 3: Функция даты (NOW)

Функция NOW() не принимает аргументов и возвращает текущую дату и время.

SELECT NOW() AS current_datetime;

Этот запрос возвращает текущую дату и время.


Использование функций в разделе WHERE

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

Пример 1: Строковая функция (LENGTH)

Функция LENGTH() возвращает длину строки.

SELECT *
FROM products
WHERE LENGTH(product_name) > 20;

Этот запрос извлекает все столбцы из таблицы products, где длина product_name превышает 20 символов.


Пример 2: Функция даты (YEAR)

Функция YEAR() извлекает год из даты.

SELECT *
FROM orders
WHERE YEAR(order_date) = 2023;

Этот запрос извлекает все столбцы из таблицы orders, где год в столбце order_date равен 2023.


Пример 3: Математическая функция (ABS)

Функция ABS() возвращает абсолютное значение числа.

SELECT *
FROM transactions
WHERE ABS(amount) > 100;

Этот запрос извлекает все столбцы из таблицы transactions, где абсолютное значение amount превышает 100.


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

Функции SQL можно разделить на следующие категории:

  1. Строковые функции: Используются для работы со строками (например, UPPER, LOWER, SUBSTRING, LENGTH, TRIM).
  2. Математические функции: Используются для выполнения математических вычислений (например, ROUND, ABS, SQRT, MOD).
  3. Функции даты и времени: Используются для работы с датами и временем (например, NOW, YEAR, MONTH, DAY, DATE_ADD, DATE_SUB).
  4. Агрегатные функции: Используются для суммирования данных (например, COUNT, SUM, AVG, MIN, MAX). (Рассматриваются в следующем уроке)
  5. Функции преобразования: Используются для преобразования данных из одного типа в другой (например, CAST, CONVERT).

Лучшие практики

  1. Понимание поведения функций: Знайте особенности и ограничения каждой функции, которую вы используете.
  2. Используйте псевдонимы: Используйте псевдонимы (AS), чтобы давать осмысленные имена вычисляемым столбцам.
  3. Проверяйте типы данных: Убедитесь, что входные значения (аргументы) имеют правильный тип данных для функции.
  4. Обращайтесь к документации: Ознакомьтесь с документацией вашей системы управления базами данных для получения полного списка доступных функций и их синтаксиса.

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

Освоив использование встроенных функций в SQL-запросах, вы сможете выполнять мощные манипуляции с данными и анализ, извлекая ценные инсайты из ваших данных.