Задача
Вы хотите узнать, на какой день недели выпадает указанная дата.
Решение
Используйте функцию 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 |
+----------------+--------------------------+---------------------+