MySQL | WEEKDAY method
Start your free 7-days trial now!
MySQL's WEEKDAY(~)
method returns the weekday index (0-6) of a given date or datetime.
Weekday Index | Weekday |
---|---|
0 | Monday |
1 | Tuesday |
2 | Wednesday |
3 | Thursday |
4 | Friday |
5 | Saturday |
6 | Sunday |
Parameters
1. date
| date/datetime
The date/datetime to retrieve the weekday index for.
Return value
The weekday index (0-6) of the input date or datetime.
Examples
Consider the following table about some students:
student_id | fname | lname | day_enrolled | age | username |
---|---|---|---|---|---|
1 | Sky | Towner | 2015-12-03 | 17 | stowner1 |
2 | Ben | Davis | 2016-04-20 | 19 | bdavis2 |
3 | Travis | Apple | 2018-08-14 | 18 | tapple3 |
4 | Arthur | David | 2016-04-01 | 16 | adavid4 |
5 | Benjamin | Town | 2014-01-01 | 17 | btown5 |
The above sample table can be created using the code here.
Basic usage
To return the weekday index of the date that current students enrolled:
SELECT fname, WEEKDAY(day_enrolled)FROM students;
+----------+-----------------------+| fname | WEEKDAY(day_enrolled) |+----------+-----------------------+| Sky | 3 || Ben | 2 || Travis | 1 || Arthur | 4 || Benjamin | 2 |+----------+-----------------------+
We can see that Sky enrolled on a Thursday, while Ben enrolled on a Wednesday.
To return students who were enrolled on a Monday or Tuesday:
SELECT fname, WEEKDAY(day_enrolled)FROM studentsWHERE WEEKDAY(day_enrolled) IN (0, 1);
+--------+-----------------------+| fname | WEEKDAY(day_enrolled) |+--------+-----------------------+| Travis | 1 |+--------+-----------------------+
To return weekday index from a datetime:
SELECT WEEKDAY('2020-04-12 06:05:55');
+--------------------------------+| WEEKDAY('2020-04-12 06:05:55') |+--------------------------------+| 6 |+--------------------------------+