В MySQL существует несколько методов получения дня недели по заданной дате. В этой статье будут рассмотрены различные подходы с примерами кода, которые помогут вам понять и реализовать их в запросах MySQL.
Метод 1: функция ДЕНЬНЕДЕЛИ
Функция ДЕНЬНЕДЕЛИ возвращает индекс дня недели (1 для воскресенья, 2 для понедельника и т. д.). Вот пример того, как его использовать:
SELECT DAYOFWEEK('2024-01-23') AS day_of_week;
Этот запрос вернет день недели для даты «2024-01-23», то есть воскресенья.
Метод 2: функция ДЕНЬНЕД
Функция ДЕНЬНЕД возвращает индекс дня недели (0 для понедельника, 1 для вторника и т. д.). Вот пример:
SELECT WEEKDAY('2024-01-23') AS day_of_week;
Этот запрос вернет 6, что указывает на то, что «2024-01-23» — это воскресенье (поскольку воскресенье — седьмой день, считая с нуля).
Метод 3: функция DAYNAME
Функция DAYNAME возвращает название дня недели. Вот пример:
SELECT DAYNAME('2024-01-23') AS day_of_week;
Этот запрос вернет «воскресенье» для даты «23 января 2024 г.».
Метод 4: функция DATE_FORMAT
Функция DATE_FORMAT позволяет форматировать дату в соответствии с определенной строкой формата. Чтобы получить день недели, вы можете использовать код формата «%W». Вот пример:
SELECT DATE_FORMAT('2024-01-23', '%W') AS day_of_week;
Этот запрос вернет «воскресенье» для даты «23 января 2024 г.».
Метод 5: пользовательское сопоставление
Вы можете создать собственное сопоставление дня недели с помощью оператора CASE. Вот пример:
SELECT
CASE DAYOFWEEK('2024-01-23')
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END AS day_of_week;
Этот запрос вернет «воскресенье» для даты «23 января 2024 г.».
В этой статье мы рассмотрели различные методы получения дня недели в MySQL. Используя такие функции, как DAYOFWEEK, WEEKDAY, DAYNAME и DATE_FORMAT, а также пользовательское сопоставление с помощью оператора CASE, вы можете легко получить день недели из заданной даты в ваших запросах MySQL.