我有一个包含日期行的表格, 我需要获取一年的行:
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 日到 2018 年 9 月 12 日。
我想要2017年9月13日至2018年9月12日期间的结果。
已更新,这是正确的查询,按照我想要的方式工作: 其中 cal_date >= '2017-09-13' 且 cal_date < DATE_ADD('2017-09-13' , 间隔 1 年)
最佳答案
对于基于 curdate() 的通用格式,您可以使用
SELECT
DATE_FORMAT(cal_date, '%e %M') as cal_date
, price_client
, price_owner
, description
FROM table WHERE cal_date <
DATE_ADD(DATE_ADD(LAST_DAY(DATE_SUB(CURDATE(), interval 30 day), interval 1 day) ,
INTERVAL 1 year)
关于mysql - sql查询添加1年,减少月份中过去的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46205319/