Естественно —mysql воспринимает это как строку, а не как дату, следовательно, сначало, нужно преобразовать ее в дату —
echo mysql_result(
mysql_query("SELECT `birth` FROM `users` (YEAR(CURRENT_DATE) - YEAR(STR_TO_DATE('birth','%d-%m-%Y'))) - (DAYOFYEAR(CURRENT_DATE) < DAYOFYEAR(STR_TO_DATE('birth','%d-%m-%Y'))) as `age`"),0,0);
Changed: Олег (15.08.2010 / 20:37)