Php 如何在mysql中转到上一个日期

Php 如何在mysql中转到上一个日期,php,mysql,Php,Mysql,我必须检查车辆的有效期,我取了1天的间隔,但它取正值,因此它没有显示为过期,而是取正值,明天显示为过期 SELECT vehicle_reg_num, vehicle_type, insurance_validity, tax_validity, fc_validity FROM vms_vehicles_list WHERE ((insurance_validity BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) OR insur

我必须检查车辆的有效期,我取了1天的间隔,但它取正值,因此它没有显示为过期,而是取正值,明天显示为过期

SELECT   
vehicle_reg_num,
vehicle_type,
insurance_validity,
tax_validity,
fc_validity
 FROM vms_vehicles_list 
WHERE ((insurance_validity BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 
OR insurance_validity BETWEEN DATE_ADD (NOW(),INTERVAL -7 DAY) AND NOW()) 
OR (tax_validity BETWEEN NOW() AND DATE_ADD(NOW(),INTERVAL 7 DAY) 
OR tax_validity BETWEEN DATE_ADD(NOW(),INTERVAL -7 DAY) AND NOW())
OR (fc_validity BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY)) 
OR fc_validity BETWEEN DATE_ADD(NOW(),INTERVAL -7 DAY) AND NOW()) 
AND vehicle_delete_flag=0;

您的查询应该是这样的

    SELECT 
vehicle_reg_num,
vehicle_type,
insurance_validity,
tax_validity,
fc_validity
 FROM vms_vehicles_list 
WHERE ((insurance_validity BETWEEN NOW() AND SUBDATE(NOW(),7) 
OR insurance_validity BETWEEN SUBDATE(NOW(),7) AND NOW()) 
OR (tax_validity BETWEEN NOW() AND SUBDATE(NOW(),7) 
OR tax_validity BETWEEN SUBDATE(NOW(),7) AND NOW()) 
OR (fc_validity BETWEEN NOW() AND SUBDATE(NOW(),7))) 
OR fc_validity BETWEEN SUBDATE(NOW(),7) AND NOW()) AND vehicle_delete_flag=0;

请提供答案,而不是问题格式建议。@mukesh,请检查它是否为答案而不是问题格式建议。。请正确阅读。@Mukesh,为什么不考虑编辑答案和问题格式?能否提供一些示例数据和预期结果?