Определение дня недели для даты

Задача
Вы хотите узнать, на какой день недели выпадает указанная дата.

Решение
Используйте функцию DAYNAME().

Обсуждение
Чтобы вывести название дня недели, примените функцию DAYNAME():

mysql> SELECT CURDATE(), DAYNAME(CURDATE());

+--------------+----------------------------+
| CURDATE() | DAYNAME(CURDATE()) |
+--------------+----------------------------+
| 2002-07-15 | Monday |
+--------------+----------------------------+

Функцию DAYNAME() удобно использовать в сочетании с другими методиками работы с датами. Например, чтобы узнать, каким днем недели будет первый день месяца, используйте выражение поиска первого дня месяца, приведенное ранее в этой главе, как аргумент функции DAYNAME():

mysql> SET @d = CURDATE();
mysql> SET @first = DATE_SUB(@d,INTERVAL DAYOFMONTH(@d)-1 DAY);
mysql> SELECT @d AS 'starting date',
-> @first AS '1st of month date',
-> DAYNAME(@first) AS '1st of month day';

+----------------+--------------------------+---------------------+
| starting date | 1st of month date | 1st of month day |
+----------------+--------------------------+---------------------+
| 2002-07-15 | 2002-07-01 | Monday |
+----------------+--------------------------+---------------------+

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела MySQL на эту тему:
Выбор записей по временным характеристикам
Вывод значений TIMESTAMP в удобном для чтения виде
Вычисление возраста
Вычисление длины месяца
Вычисление интервалов между значениями времени

Вернуться в раздел: MySQL / 5. Работа с датами и временем