“DateTime”比较的简单“Where”条款

时间:2013-08-14 06:49:03

标签: mysql datetime

我正在尝试查看某个特定时间点Person是否超过某个年龄。

目前specificTime是一个DATETIME attritube,其值为'2011-05-21'

Age也是DATETIME属性。

是否有人对查询有任何想法,以确定某个人的Age是否greater than 15 years <{1}}

3 个答案:

答案 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中。我希望这对你有用