显示日期范围之间的数据mysql

发布于 2024-09-05 07:12:59 字数 377 浏览 4 评论 0原文

我需要计算出从给定日期起 6 个月(向后)的时间段。

示例日期:

07/06/2010 00:00:00

需要倒数 6 个月并显示:

07/12/2009 00:00:00

我一直在扫描: http://dev.mysql.com/doc/refman/5.1/en/date-and- time-functions.html 这些函数对我来说都没有意义:(

希望这是有道理的,任何帮助都会得到帮助。

凯尔

I need to work out a period of 6 months (backwards) from a given date.

Example date:

07/06/2010 00:00:00

needs to count back 6 months and display:

07/12/2009 00:00:00

I have been scanning through: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html and non of these functions make sense to me :(

Hope this makes sense and any help would be appriciated.

Kyle

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

它位于手册的顶部,很惊讶你找不到它(adddate / date_add);

mysql> SELECT DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH);
+----------------------------------------------------+
| DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH) |
+----------------------------------------------------+
| 2009-10-02 23:23:23                                |
+----------------------------------------------------+
1 row in set (0.00 sec)

如果需要,可以添加 DATE_FORMAT()

It's right at the top for the manual, surprised you couldn't find it (adddate / date_add);

mysql> SELECT DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH);
+----------------------------------------------------+
| DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH) |
+----------------------------------------------------+
| 2009-10-02 23:23:23                                |
+----------------------------------------------------+
1 row in set (0.00 sec)

Possibly add a DATE_FORMAT() if you need it

2024-09-12 07:12:59
DATE_SUB(mydate, INTERVAL 6 MONTH)
DATE_SUB(mydate, INTERVAL 6 MONTH)
春庭雪 2024-09-12 07:12:59

对于当前日期,

SELECT * FROM table 
WHERE mydate BETWEEN DATE_SUB(curdate(), INTERVAL 6 MONTH) and curdate();

如果给定日期不是当前日期,则应使用 2010-06-07,而不是 07/06/2010

For the current date you can use

SELECT * FROM table 
WHERE mydate BETWEEN DATE_SUB(curdate(), INTERVAL 6 MONTH) and curdate();

in case of given date is not the current one, it should be 2010-06-07, not 07/06/2010.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文