【发布时间】:2015-07-09 13:23:19
【问题描述】:
我需要选择从上个月到 12 个月前的所有记录。所以现在是 2015-07-09 时,我需要选择 2014-08-01 和 2015-06-30 之间的记录。
【问题讨论】:
-
调查过
DATE_ADD函数? -
如果你要覆盖 12 个月,你可能是指 2014-07-01 到 2015-06-30 之间。
我需要选择从上个月到 12 个月前的所有记录。所以现在是 2015-07-09 时,我需要选择 2014-08-01 和 2015-06-30 之间的记录。
【问题讨论】:
DATE_ADD函数?
使用这个查询:
select * from table_name where date_column between date_sub(ADDDATE(LAST_DAY(SUBDATE(curdate(), INTERVAL 11 MONTH)), 1), interval 1 month) , last_day(date_sub(curdate(), interval 1 month))
【讨论】:
这会让你到上个月底为止。
select ... from table where mydate < date_sub(curdate(), interval day(curdate())-1 day)
这应该为您指明学习日期数学的正确方向,这样您就可以弄清楚要做什么来测试 12 个月前的开始(提示:从我上面的表达式中减去 12 个月并测试大于或等于)。
【讨论】: