mysql - 如何获得即将到来的周日约会?

标签 mysql

我需要获取“下周日”的日期

我该怎么做?

我看过 DAYOFWEEK 函数,但这并不是我真正想要的(可能在 WHERE 子句中有用)

编辑:

我把问题从周六改回原来的周日,因为我得到了周日的一些有效答案,这可能会在未来帮助一些人

我在其他地方(包括 SO 上)找到了许多其他“周末”日期问题和答案

对我来说最有用的解决方案是找到的已接受答案 here .

最佳答案

更新

最好使用 curdate() 而不是 now(),所以最终通过 date()< 转换为 DATE 类型 可以省略。

SELECT curdate() + INTERVAL 6 - weekday(curdate()) DAY;

下周日或

SET @date = '2014-03-05';

SELECT @date + INTERVAL 6 - weekday(@date) DAY;

可变日期。


原始答案

只需在下周日使用此语句:

SELECT date(now() + INTERVAL 6 - weekday(now()) DAY);

输出

+-----------------------------------------------+
| date(now() + INTERVAL 6 - weekday(now()) DAY) |
+-----------------------------------------------+
| 2014-04-13                                    |
+-----------------------------------------------+

解释:

weekday(now()) 返回当前工作日(从 0 开始为星期一,6 为星期日)。从 6 中减去当前工作日,得到到下周日的剩余天数。然后将它们添加到当前日期并获得下周日的日期。

或者,如果您想灵活处理任何日期:

SET @date = '2014-03-05';

SELECT date(@date + INTERVAL 6 - weekday(@date) DAY);

输出

+-----------------------------------------------+
| date(@date + INTERVAL 6 - weekday(@date) DAY) |
+-----------------------------------------------+
| 2014-03-09                                    |
+-----------------------------------------------+

关于mysql - 如何获得即将到来的周日约会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23020162/

相关文章:

MySQL 自动将字符串转换/转换为数字?

php - Mysql 注册事务

mysql - 如何检索mysql中 "count"列之前的最后一个id值?

php - 托尔根 CSRF 不工作

mysql - 为多个复合索引设计表架构和/或索引的最佳实践

php - 关于如何计算每个帖子的评论数的 SQL 查询

mysql - 我需要选择达到特定字符的值

PHPMailer,SMTP 错误无法连接到 smtp 主机

c++ - get_driver_instance() MySQL C++ VS2010 的链接器错误

mysql - 多行具有相同值的列的总和