MySQL如何使用datetime格式按特定日期(星期一,星期二等)选择所有行

时间:2016-05-12 00:32:32

标签: php mysql sql datetime

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

我不确定MySQL查询的外观。在数据库中,我有这些事件的字段。

1990-01-01 A 1990-01-01 B 1990-01-01 C 1990-01-02 A 1990-01-03 A 1990-01-03 C 1990-01-04 B idtitleday (DATETIME)

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

1 个答案:

答案 0 :(得分:2)

您可以在查询中使用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