过去,我有一个表的日期行, 我需要让行的一年:SQL查询添加1年,少天一个月
SELECT DATE_FORMAT(cal_date, '%e %M') as cal_date, price_client,
price_owner, description FROM table WHERE cal_date <
DATE_ADD('2017-09-13' , INTERVAL 1 year)
此查询的结果是日行与日期从2017年9月1日至9月12日2018年
我想的结果从2017年9月13日至9月12日提前
变化得益于'DATEADD( '2017年9月13日' ...'是'DATEADD(“2017年9月1日'...'?这当然假设你有那个日期范围内的所有记录(注意我们所做的只是将13更改为01)但是,你还需要说'and cal_date> ='2017- 09-01''? – xQbert
谢谢,但日期是动态添加的,可以是一个月中的任何一天,我只是在想,甚至可以有不同的价格,所以结果必须从2017年9月13日开始。为此,我w虐待编辑问题。 – Helenp
'DATE_ADD('2017-09-13',INTERVAL 11个月)'看起来奇怪,你想要11个月不到1年,所以只需添加11个月? 2017年9月13日至2018年8月12日是11个月。或者可以加1年减1个月。身份证'关注1月31日和二月二十八日在这种类型的行动... – xQbert