3

我正在尝试查看 aPerson在特定时间点是否比某个年龄大。

所以目前specificTime是一个DATETIME属性,它的价值是'2011-05-21'

Age也是一个DATETIME属性。

Age有没有人对一个可以确定一个人的年龄是否greater than 15 years老的查询有任何想法?specificTime

4

3 回答 3

1

尝试

select * from Person where (datediff(specificTime,Age) / 365) > 15

有关日期时间函数的更多详细信息,请参阅http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

于 2013-08-14T06:55:13.643 回答
1

用这个:

select * from person
where date_sub(specificTime,interval 15 years) > age;

首先,它将从“2011-05-21”(即“1996-05-21”)中减去 15 年,然后将该日期与年龄进行比较。

如果 age_date 小于 date_sub 指定的值,则表示此人出生在 15 岁之前并且比该年龄大。

于 2013-08-14T13:37:30.200 回答
0

你可以通过这个找到年龄

<?php 
         //date in mm/dd/yyyy format; or it can be in other formats as well
         $birthDate = "12-17-1983";
         //explode the date to get month, day and year
         $birthDate = explode("-", $birthDate);
         //get age from date or birthdate
         $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y")-$birthDate[2])-1):(date("Y")-$birthDate[2]));
         echo "Age is:".$age;
    ?>

通过这个我们可以很好的年龄。这里 $birthDate 我给定为静态,但根据您的情况从数据库中获取并将其保存在 $birthDate 中。我希望这对你有用

于 2013-08-14T07:05:44.983 回答