Функции SQL — это заранее определенные процедуры, которые выполняют определенные операции с данными. Они позволяют манипулировать данными, выполнять вычисления и форматировать результаты непосредственно в ваших SQL-запросах. Функции могут использоваться в различных частях запроса, например, в разделе SELECT для преобразования вывода или в разделе WHERE для фильтрации данных на основе вычисленных значений.
Функции SQL похожи на функции в других языках программирования. Они принимают входные значения (аргументы), выполняют определенную операцию и возвращают результат. Функции могут быть встроенными (предоставляемыми системой управления базами данных) или пользовательскими (созданными пользователями). В этом уроке рассматриваются встроенные функции.
Общий синтаксис для использования функции в SQL:
FUNCTION_NAME(argument1, argument2, ...);
FUNCTION_NAME: Имя функции, которую вы хотите использовать.argument1, argument2, ...: Входные значения (аргументы), которые требуются функции. Это могут быть имена столбцов, литеральные значения или даже другие функции.Функции в разделе SELECT позволяют преобразовывать или вычислять значения для вывода.
UPPER)Функция UPPER() преобразует строку в верхний регистр.
SELECT UPPER(first_name) AS uppercase_name
FROM employees;
Этот запрос извлекает столбец first_name из таблицы employees и преобразует каждое имя в верхний регистр, присваивая результату псевдоним uppercase_name.
ROUND)Функция ROUND() округляет число до указанного количества десятичных знаков.
SELECT ROUND(salary, 0) AS rounded_salary
FROM employees;
Этот запрос извлекает столбец salary из таблицы employees и округляет каждую зарплату до ближайшего целого числа, присваивая результату псевдоним rounded_salary.
NOW)Функция NOW() не принимает аргументов и возвращает текущую дату и время.
SELECT NOW() AS current_datetime;
Этот запрос возвращает текущую дату и время.
Функции в разделе WHERE позволяют фильтровать данные на основе вычисленных или преобразованных значений.
LENGTH)Функция LENGTH() возвращает длину строки.
SELECT *
FROM products
WHERE LENGTH(product_name) > 20;
Этот запрос извлекает все столбцы из таблицы products, где длина product_name превышает 20 символов.
YEAR)Функция YEAR() извлекает год из даты.
SELECT *
FROM orders
WHERE YEAR(order_date) = 2023;
Этот запрос извлекает все столбцы из таблицы orders, где год в столбце order_date равен 2023.
ABS)Функция ABS() возвращает абсолютное значение числа.
SELECT *
FROM transactions
WHERE ABS(amount) > 100;
Этот запрос извлекает все столбцы из таблицы transactions, где абсолютное значение amount превышает 100.
Функции SQL можно разделить на следующие категории:
UPPER, LOWER, SUBSTRING, LENGTH, TRIM).ROUND, ABS, SQRT, MOD).NOW, YEAR, MONTH, DAY, DATE_ADD, DATE_SUB).COUNT, SUM, AVG, MIN, MAX). (Рассматриваются в следующем уроке)CAST, CONVERT).AS), чтобы давать осмысленные имена вычисляемым столбцам.Основные выводы из этого урока:
Освоив использование функций в SQL-запросах, вы сможете выполнять мощные манипуляции с данными и анализ, извлекая ценные инсайты из ваших данных.