如何选择仅从今天开始计算的未来天数';s日期


How to select only future days counting from today's date?

我需要一个只显示未来日期的函数。

问题是这样的:"选择从今天开始预订提前日期的患者。"

我现在的选择代码是:

select Patients_code
     , max(Date) 
  from Patients
     , GPS 
 group 
    by Patients_code 
having max(Date) > '2016-05-11';

GPS是预定的时间,其中Date是。此外,还有2016年的预订,但一个月后,我得到的答案是2017年的日期。

有什么建议吗?

如果你使用PHP,你可能想像这样构建SQL:

    <?php
    //ADD AN END DATE TO SPECIFY A RANGE BETWEEN TODAY & THE ENDING DATE    
    $endDateRange   = "2016-09-30";
    $sql =<<<SQL
    SELECT Patients_code, max(Date) 
    FROM Patients, GPS 
    WHERE (Date >= CURDATE() && Date =< '{$endDateRange}')
    GROUP BY Patients_code 
SQL;

假设您的结束日期是2016-09-30,这可能会归结为:

    SELECT Patients_code, max(Date) 
    FROM Patients, GPS 
    WHERE (Date >= CURDATE() && Date =< '2016-09-30')
    GROUP BY Patients_code 

这是另一种口味。。。所有这些都在说同样的话:

<?php
    //DECLARE A VARIABLE TO HOLD NR. OF DAYS INTO THE FUTURE:
    $daysFromNow   = "120";     //120 DAYS INTO THE FUTURE - APPROX. 4 MONTHS FROM NOW.
    $sql =<<<SQL
    SELECT Patients_code, max(Date)
    FROM Patients, GPS
    WHERE ( DATEDIFF(MAX(Date), CURRENT_DATE()) < {$daysFromNow})
    GROUP BY Patients_code
SQL; 

这也意味着(假设范围未来120天):

    SELECT Patients_code, max(Date)
    FROM Patients, GPS
    WHERE ( DATEDIFF(MAX(Date), CURRENT_DATE()) < 120)
    GROUP BY Patients_code

@kamal pal指出,您可能不需要具有子句。现在,我不假装知道你想做什么,但我认为他可能说得很好。。。尽管这一切都取决于你和你的意图。这部分由你决定…;-)

我想通了!感谢大家的帮助,这非常有帮助!

我必须做的事:

select GPS.PK, Date, Name, Lastname from Patients, GPS where Date>NOW() and PatientsID=GPS.PK and PatientsID=645;