我正在尝试查询数据库,以使所有基础结构的截止日期(inf_lifespan)都比今天的日期晚6个月。
inf_lifespan
2028-09-19
2025-12-04
2020-11-11
2026-02-17
2019-12-12
2020-11-13
2018-12-13
运行此查询将不会生成任何记录,但我希望查询的结果应为截止日期为2018-12-13的基础结构。
select *
from tbl_infrastructure
where `inf_lifespan` BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )
我正在使用5.7.21-MySQL社区服务器(GPL)
有人可以帮我吗
答案 0 :(得分:1)
在BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )
条件下
您要确定从6个月前到今天的日期。
您可以尝试使用DATE_ADD代替DATE_SUB
,因为DATE_SUB
的功能不足月份。
select *
from tbl_infrastructure
where `inf_lifespan` BETWEEN CURDATE() AND DATE_ADD( CURDATE(), INTERVAL 6 MONTH)