1
Решение задания 1
Текущая дата и время.
SELECT NOW() AS current_date_time;
NOW().DAYNAME(order_date).DATE_ADD(order_date, INTERVAL 30 DAY).DATEDIFF(shipped_date, order_date).DAYOFWEEK(order_date) = 6.DATE_ADD(CURDATE(), INTERVAL 100 DAY).DAYOFWEEK(order_date) IN (7, 1).DATEDIFF(LAST_DAY(...), CURDATE()).DATE_SUB(CURDATE(), INTERVAL 15 DAY).CAST(id AS CHAR(10)).Текущая дата и время.
SELECT NOW() AS current_date_time;
День недели для каждого заказа.
SELECT id, order_date, DAYNAME(order_date) AS day_of_week
FROM orders;
Прибавляем 30 дней к дате заказа.
SELECT id, order_date,
DATE_ADD(order_date, INTERVAL 30 DAY) AS new_order_date
FROM orders;
Количество дней между датой заказа и доставкой.
SELECT id, order_date, shipped_date,
DATEDIFF(shipped_date, order_date) AS days_to_ship
FROM orders;
В MySQL DAYOFWEEK возвращает 6 для пятницы.
SELECT id, order_date
FROM orders
WHERE DAYOFWEEK(order_date) = 6;
Дата через 100 дней от текущей.
SELECT DATE_ADD(CURDATE(), INTERVAL 100 DAY) AS date_in_100_days;
Выходные — суббота (7) и воскресенье (1).
SELECT id, order_date
FROM orders
WHERE DAYOFWEEK(order_date) IN (7, 1);
Разница между последним днём года и текущей датой.
SELECT DATEDIFF(LAST_DAY(CONCAT(YEAR(CURDATE()), '-12-31')),
CURDATE()) AS days_left_in_year;
Дата 15 дней назад.
SELECT DATE_SUB(CURDATE(), INTERVAL 15 DAY) AS date_15_days_ago;
Явное преобразование числа в строку фиксированной длины.
SELECT CAST(id AS CHAR(10)) AS id_as_string
FROM customers;