我正在尝试查看某个特定时间点Person
是否超过某个年龄。
目前specificTime
是一个DATETIME
attritube,其值为'2011-05-21'
Age
也是DATETIME
属性。
是否有人对查询有任何想法,以确定某个人的Age
是否greater than 15 years
<{1}}
答案 0 :(得分: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
答案 1 :(得分:1)
使用它:
select * from person
where date_sub(specificTime,interval 15 years) > age;
首先它将从'2011-05-21'减去15年,即'1996-05-21',之后它会将该日期与年龄进行比较。
如果age_date小于date_sub指定的年龄,则表示该人在15岁之前出生并且年龄大于此。
答案 2 :(得分: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中。我希望这对你有用