How to use the MySQL DAYOFWEEK() function
The DAYOFWEEK()
is a MySQL function that returns the weekday index for a given date. The days are indexed starting with 1 for Sunday through 7 for Saturday.
The DAYOFWEEK()
is a MySQL function that returns the weekday index for a given date. The days are indexed starting with 1 for Sunday through 7 for Saturday.
Syntax
The syntax for DAYOFWEEK()
is:
DAYOFWEEK(date)
Where date
is a DATE or DATETIME value.
Examples
Here are some examples of using DAYOFWEEK()
in MySQL queries:
SELECT DAYOFWEEK('2023-11-14');
-- Returns 3 (Tuesday)
Get the weekday index for the specific date ‘2023-11-14’.
SELECT name, DAYOFWEEK(birthday)
FROM users;
Retrieve the name and weekday of birth date for all users.
SELECT name
FROM users
WHERE DAYOFWEEK(birthday) = 1;
Get names of users with birthdays on a Sunday.
SELECT DATE_FORMAT(NOW(), '%w') = DAYOFWEEK(NOW());
-- Returns 1 (true)
Compare weekday index of current date to value returned by DAYOFWEEK()
.
SELECT DATE_ADD(NOW(), INTERVAL (8 - DAYOFWEEK(NOW())) DAY);
-- Returns 2023-11-21 00:00:00
Use DAYOFWEEK()
to calculate the next Tuesday from the current date.
Other Date Functions
Other handy MySQL date functions:
DAYOFMONTH()
- Extract day of month from 1-31DAYOFYEAR()
- Get numeric day of the yearWEEKDAY()
- Weekday name from dateQUARTER()
- Quarter of year from dateWEEK()
- Week number in year for date
DAYOFWEEK()
can be used together with these to get or process parts of a date.