我DATE_ADD在MySQL中遇到函数问题。
DATE_ADD
我的要求看起来像这样:
SELECT * FROM mydb WHERE creationdate BETWEEN "2011-01-01" AND DATE_ADD("2011-01-01", INTERVAL 6 MONTH) GROUP BY MONTH(creationdate)
我的问题是,结果是-我认为-因为 6月 只有30天,所以该功能无法正常工作,因为我具有 7月 1 日 的结果。
有没有办法告诉DATE_ADD您一个月内工作良好并在正确的天数内工作?
DATE_ADD在不同的月份都可以正常工作。问题是您要添加六个月的时间,2001-01-01而应该在7月1日。
2001-01-01
这是您要执行的操作:
SELECT * FROM mydb WHERE creationdate BETWEEN "2011-01-01" AND DATE_ADD("2011-01-01", INTERVAL 6 MONTH) - INTERVAL 1 DAY GROUP BY MONTH(creationdate)
或者
SELECT * FROM mydb WHERE creationdate >= "2011-01-01" AND creationdate < DATE_ADD("2011-01-01", INTERVAL 6 MONTH) GROUP BY MONTH(creationdate)
为了进一步学习,请参阅DATE_ADD文档。
*已编辑以更正语法