Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 17 из 52 · 13 мин
Сегодня, интервалы, части даты и группировка по месяцам.
Мне нужны часы заказов: утро или вечер. А у нас created_at — дата и время вместе.
Выну час через extract. А могу округлить время до дня или месяца — date_trunc.
current_date · nowcurrent_date — сегодняшняя дата, now() — текущие дата и время.SELECT current_date AS today, current_date - date '2025-09-01' AS days_since_opening;intervalinterval '7 days', interval '1 month'. Прибавляется к датам и вычитается из них.SELECT date '2025-10-31' + interval '1 month' AS next_month, timestamp '2025-09-01 08:15' + interval '90 minutes' AS later;extractextract(hour from created_at) — час. Бывают year, month, day, dow (день недели, 0 — воскресенье).SELECT id, created_at, extract(hour from created_at) AS hour
FROM orders
LIMIT 5;date_truncdate_trunc('month', created_at) — начало месяца для этой даты.SELECT DISTINCT date_trunc('month', created_at) AS month
FROM orders
ORDER BY month;ageage(дата) — промежуток от даты до сегодня в годах, месяцах и днях. age(a, b) — между двумя датами.SELECT name, age(date '2025-11-01', hired_on) AS tenure
FROM staff;to_charto_char(дата, 'DD.MM.YYYY') — превращает дату в строку нужного формата.SELECT to_char(created_at, 'DD.MM.YYYY HH24:MI') AS pretty
FROM orders
LIMIT 3;Считай и сравнивай даты как даты. В текст превращай только для показа, через to_char.
Выведи id и created_at заказов, сделанных до 10 утра (час меньше 10).
extract — пока нетcategories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onВыведи без повторов начала месяцев, в которые были заказы, под именем month, по возрастанию.
date_trunc — пока нетcategories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onВыберите один ответ.
Что вернёт date_trunc('month', timestamp '2025-10-17 14:30')?
Выберите один ответ.
Как получить дату неделю назад?
Проверяем состояние обучения…