MySQL如何按日期时间格式按特定日期(mon、tue等)选择所有行


MySQL how to select all rows by specific day (mon, tue, etc) with datetime format

我有一个事件系统设置,用户可以在其中添加一个事件,例如星期一,它可以发生一次,也可以是一个重复发生的事件。因此,在我的应用程序中,每当用户请求查看周一的所有事件时,我都希望返回当天的任何事件,并返回周一但过去可能添加的任何重复发生的事件。

我不确定MySQL查询应该是什么样子。在数据库中,我有事件的这些字段。

idtitleday (DATETIME)reoccurring (TINYINT) 0/1

提前感谢您提供的任何指导。

您可以在查询中使用DAYNAME()函数。

SELECT *
FROM table
WHERE day = currentDay
OR (
    DAYNAME(day) = DAYNAME(currentDay)
    AND reoccuring = 1
)

有关DAYNAME的更多示例:
http://www.w3resource.com/mysql/date-and-time-functions/mysql-dayname-function.php