← К оглавлению занятия

✅ Решения

⚡ Кратко: решения

  • Задание 1 — DATE_FORMAT(order_date, '%d-%m-%Y').
  • Задание 2 — DATE_FORMAT(shipped_date, '%d/%m/%Y %H:%i:%s').
  • Задание 3 — DATEDIFF(shipped_date, order_date).
  • Задание 4 — DATE_SUB(CURDATE(), INTERVAL 90 DAY).
  • Задание 5 — неявное преобразование в арифметике и CONCAT.
  • Задание 6 — YEAR(order_date).
  • Задание 7 — CAST('2024-08-25' AS DATE).
1

Решение задания 1

Форматируем дату заказа в привычный российский формат.

SELECT id,
       DATE_FORMAT(order_date, '%d-%m-%Y') AS formatted_order_date
FROM orders;
2

Решение задания 2

Форматируем дату и время отправки с разделителями / и :.

SELECT id,
       DATE_FORMAT(shipped_date, '%d/%m/%Y %H:%i:%s') AS formatted_shipped_date
FROM orders;
3

Решение задания 3

Разница в днях между отправкой и заказом. Положительное значение означает, что отправка позже заказа.

SELECT id,
       DATEDIFF(shipped_date, order_date) AS days_to_ship
FROM orders;
4

Решение задания 4

Вычитаем 90 дней из текущей даты.

SELECT DATE_SUB(CURDATE(), INTERVAL 90 DAY) AS past_date;
5

Решение задания 5

MySQL автоматически преобразует строку в число при сложении и число в строку при конкатенации.

SELECT '2024-08-25' + 5 AS date_plus_number;
SELECT CONCAT('Total sales: $', 12345.67) AS sales_report;
6

Решение задания 6

Извлекаем год из даты заказа.

SELECT id,
       YEAR(order_date) AS order_year
FROM orders;
7

Решение задания 7

Явно преобразуем строку в дату.

SELECT CAST('2024-08-25' AS DATE) AS converted_date;