如何在mysql 27天之前显示数据?

时间:2018-03-29 10:33:59

标签: php mysql date

我在MySQL添加了一些包含开始日期和结束日期的数据。如果假设我在end_date的{​​{1}}的mysql表中有一行是07/03/2018。现在我想通知用户他的end_date即将出现在他的仪表板上。我想显示从10/02/2018end_date的通知。这意味着从10/02/2018此日期到07/03/2018用户每天都会在其信息中心看到通知。如何为此编写查询。以下是我显示表格中所有数据的常规查询,但我不知道在这种情况下如何添加上述条件。

$Records =  "
     SELECT *, 
      DATE_FORMAT(start_date, '%d-%m-%Y') AS start_date,
      DATE_FORMAT(end_date, '%d-%m-%Y') AS end_date,ORG_NAME 
     FROM vat_report 
     LEFT JOIN organizations ON vat_report.org_id = organizations.org_id";
$exec = $database_resultsObj -> execQuery ( $Records );

1 个答案:

答案 0 :(得分:2)

您可以使用mysql-functions CURDATE()DATE_SUB(date, INTERVAL 27 DAY)。在你的情况下,看起来像这样:

SELECT     *, 
           DATE_FORMAT(start_date, '%d-%m-%Y') AS start_date,
           DATE_FORMAT(end_date, '%d-%m-%Y') AS end_date,
           ORG_NAME 
FROM       vat_report 
LEFT JOIN  organizations 
ON         vat_report.org_id = organizations.org_id 
WHERE      CURDATE() >= DATE_SUB(end_date, INTERVAL 27 DAY)
AND        CURDATE() <= end_date