Какие самые часто используемые функции в SQL?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Самые часто используемые функции в SQL
SQL включает множество встроенных функций для обработки данных. Рассмотрим самые важные и часто используемые из них в повседневной разработке.
Функции для работы со строками
CONCAT или оператор || объединяет строки:
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
-- или
SELECT first_name || ' ' || last_name AS full_name FROM users;
SUBSTRING извлекает часть строки:
SELECT SUBSTRING(email FROM 1 FOR 5) FROM users;
UPPER/LOWER преобразуют регистр:
SELECT UPPER(name), LOWER(email) FROM users;
TRIM/LTRIM/RTRIM удаляют пробелы:
SELECT TRIM(name) FROM users;
Функции для работы с числами
ABS возвращает абсолютное значение:
SELECT ABS(-100);
ROUND округляет число:
SELECT ROUND(price, 2) FROM products;
CEIL/FLOOR округляют в большую/меньшую сторону:
SELECT CEIL(3.2), FLOOR(3.9);
Агрегирующие функции
COUNT подсчитывает количество строк:
SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT user_id) FROM orders;
SUM/AVG/MIN/MAX работают с числовыми значениями:
SELECT
SUM(amount) AS total,
AVG(amount) AS average,
MIN(amount) AS minimum,
MAX(amount) AS maximum
FROM orders;
Функции для работы с датами
NOW() или CURRENT_TIMESTAMP возвращают текущую дату и время:
SELECT NOW();
DATE_TRUNC усекает дату до указанной части:
SELECT DATE_TRUNC('month', created_at) FROM orders;
EXTRACT извлекает часть из даты:
SELECT EXTRACT(YEAR FROM created_at) FROM orders;
DATE_ADD/INTERVAL прибавляют время:
SELECT DATE_ADD(now(), INTERVAL '7 day');
Условные функции
CASE используется для условной логики:
SELECT
name,
CASE
WHEN age < 18 THEN 'Minor'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM users;
COALESCE возвращает первое неNULL значение:
SELECT COALESCE(middle_name, 'N/A') FROM users;
NULLIF возвращает NULL если значения равны:
SELECT NULLIF(status, 'inactive') FROM users;
Оконные функции
ROW_NUMBER нумерует строки:
SELECT
name,
ROW_NUMBER() OVER (ORDER BY created_at) AS row_num
FROM users;
RANK/DENSE_RANK ранжируют значения:
SELECT
name,
salary,
RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;
LAG/LEAD получают значения из предыдущей/следующей строки:
SELECT
date,
revenue,
LAG(revenue) OVER (ORDER BY date) AS prev_revenue
FROM sales;
Эти функции составляют основу большинства SQL запросов. Владение ими критично для эффективной работы с базами данных в Node.js приложениях.