php - MySQL如何按日期时间格式按特定日期(星期一,星期二等)选择所有行

标签 php mysql sql datetime

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

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

id标题日期 (DATETIME)重复发生 (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

关于php - MySQL如何按日期时间格式按特定日期(星期一,星期二等)选择所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37175383/

相关文章:

php - 使这个基本搜索功能起作用的帮助不大(Zend Lucene)

PHP exec() git fetch 失败,返回值 255

php - 如何在数组中使用多个变量

php - 我如何将其转换为 mysqli

sql - 如何在 SQL 中找到所有行的每组最大值?

mysql - 如何从字符串字段更新 "sub-fields"?

php - 无法将上传的文件移动到 php 中的在线服务器

php - 我的登录脚本在本地服务器上工作正常,但在实时服务器上无法工作

MySQL计算结果中所有地理位置之间的距离

sql - 在单行不同列中显示Oracle树结构层次结构数据