PHP数据库DATE与今天的DATE相比

时间:2016-06-28 18:10:12

标签: php sql

在数据库中,我有DOB表是DATE。所以我在搜索功能方面遇到问题,因为我想在任何时候按日期搜索人员。所以搜索中的字段是AGE,例如18-25 ,.我希望在此示例中searchage1 = 18,searchage2 = 25。

 `dob BETWEEN ".$search_data['searchage1']." AND ".$search_data['searchage2'];`

我想将此18和25转换为DATE,然后将其与Database DATES进行比较。我尝试了一些没有成功的可能性,任何想法?

1 个答案:

答案 0 :(得分:0)

首先,您需要根据age字段计算基于dob的字段,然后在WHERE语句中使用此字段。

请参阅以下有关如何在SQL中计算年龄的主题:herehere

EG:

SELECT *, DATEDIFF(dob, '2016-06-28')/365.25 AS `age` WHERE `age` >= '18' AND `age` =< '25';

SELECT *, YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) AS `age` WHERE `age` >= '18' AND `age` =< '25';