在数据库中,我有DOB表是DATE。所以我在搜索功能方面遇到问题,因为我想在任何时候按日期搜索人员。所以搜索中的字段是AGE,例如18-25 ,.我希望在此示例中searchage1
= 18,searchage2
= 25。
`dob BETWEEN ".$search_data['searchage1']." AND ".$search_data['searchage2'];`
我想将此18和25转换为DATE,然后将其与Database DATES进行比较。我尝试了一些没有成功的可能性,任何想法?
答案 0 :(得分:0)
首先,您需要根据age
字段计算基于dob
的字段,然后在WHERE
语句中使用此字段。
请参阅以下有关如何在SQL中计算年龄的主题:here或here
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';