查询介于今天的日期和未来六个月之间的日期

时间:2018-09-17 08:18:51

标签: mysql sql

我正在尝试查询数据库,以使所有基础结构的截止日期(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)

有人可以帮我吗

1 个答案:

答案 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)
相关问题