获取从当前日期到下一个完整月的记录(直到下个月的最后一个日期)mysql [重复]

Posted

技术标签:

【中文标题】获取从当前日期到下一个完整月的记录(直到下个月的最后一个日期)mysql [重复]【英文标题】:Fetch record from current date to next whole month(till last date of next month) mysql [duplicate] 【发布时间】:2017-02-27 07:28:58 【问题描述】:

假设当前日期是 18/10/2016 那么我想获取从 18/10/206 到 30/11/2016 的所有记录

这是场景,请帮助我从单个查询 mysql 中获取有效的方法来获取它。

【问题讨论】:

next whole month 是什么意思?未来 30 天还是下个月 1-28/29/30/31? WHERE yourDate BETWEEN 从当前日期到下个月的最后一个日期,正如我用一个例子解释的那样,你没有看到? 【参考方案1】:

您可以使用BETWEEN 来比较日期。

借助LAST_DAY(date)函数。

SELECT 
* 
FROM your_table 
WHERE your_date BETWEEN CURDATE() AND LAST_DAY(CURDATE() + INTERVAL 1 MONTH)

注意:

LAST_DAY() 函数

MySQL LAST_DAY() 为日期或日期时间值返回相应月份的最后一天。如果日期或日期时间值无效,则函数返回NULL

【讨论】:

很抱歉,这是语法错误 请分享您尝试的查询以及遇到的错误。 这是错误:SQL 查询:文档 SELECT * FROM members_detail Birthdate BETWEEN CURDATE() AND LAST_DAY(CURDATE() + INTERVAL 1 MONTH) LIMIT 0, 25 MySQL 说:文档 #1064 - 你有SQL 语法错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'BETWEEN CURDATE() AND LAST_DAY(CURDATE() + INTERVAL 1 MONTH) LIMIT 0, 25' 附近使用正确的语法 对不起,缺少 where 关键字,这是我的错误 我看到你没有使用WHERE【参考方案2】:
$time = strtotime(date('Y-m-d'));
$final = date("Y-m-d", strtotime("+1 month", $time));
$nextMonth= date('t/m/Y',strtotime($final));
$now=date('d/m/Y');
$sql="select * from table where date>='".$now.' and date<=$nextMonth";
$res=mysql_query($sql);

【讨论】:

第一要务是尽可能只使用mysql,否则我们可以使用php,但谢谢哥们:)

以上是关于获取从当前日期到下一个完整月的记录(直到下个月的最后一个日期)mysql [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在SHELL获取当天时间的月份和上个月的月份还有下个月的月份

如何从今天的日期获取下个月的日期并将其插入我的数据库中?

在EXCEL中,今天到下个月今天的天数怎么计算,求教了

如何从全日历年视图中隐藏上个月和下个月的日期和事件?

python中计算上个月和下个月的第一天的方法

基于datetime numpy数组获取下个月的第一个日期