Jump to content

Check if MySQL DATE field (birthdate) is within age range?


Helmet

Recommended Posts

...
WHERE birth_date_column BETWEEN (DATE_SUB(NOW(), INTERVAL 30 YEAR)) AND (DATE_SUB(NOW(), INTERVAL 20 YEAR));

 

or

 

...
WHERE YEAR(FROM_DAYS(DATEDIFF(CURDATE(), birth_date_column))) BETWEEN 20 AND 30

 

note: i'm not 100% on the 2nd method as i thew it together in a few minutes.

Hey aschk, thanks for your reply. This is what I ended up doing, using PHP for the tough stuff, which seems to work, but looks nasty:

 

$today = date("Y-m-d");
list($year,$month,$day) = explode("-",$today);
$fromyear = $year - $form['agefrom'];
$fromdob = $fromyear."-".$month."-".$day;
$toyear = $year - $form['ageto'];
$todob = $toyear."-".$month."-".$day;

$sql = "SELECT ID FROM accounts WHERE birthdate BETWEEN '$todob' AND '$fromdob'"

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.