I want to query by weekday in a given table on a column storing dates. E.g. select * from MY_TABLE where date_column is 'Monday'
I saw a DAYOFWEEK()
function in mysql. But this only seems to manipulate the results of the query.
So is such a query even possible?
CodePudding user response:
Use weekday name:
SELECT *
FROM my_table
WHERE DATE_FORMAT(date_column, '%W') = 'Monday';
Use weekday index:
SELECT *
FROM my_table
WHERE DAYOFWEEK(date_column) = 2
-- WHERE WEEKDAY(date_column) = 0
CodePudding user response:
The WEEKDAY() function returns the weekday number for a given date.
Note: 0 = Monday, 1 = Tuesday, 2 = Wednesday, 3 = Thursday, 4 = Friday, 5 = Saturday, 6 = Sunday.
you need to use weekday instead of dayofweek