← Назад к вопросам

Какие самые часто используемые функции в SQL?

1.0 Junior🔥 271 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI29 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Самые часто используемые функции в 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 приложениях.

Какие самые часто используемые функции в SQL? | PrepBro