0

我在数据库中有一个名为 myTable 的表,在表内有一个名为 myBirth 的行,我在 mybirth 行中插入了存储为 DATETIME 的日期值。

我想知道如何将mysql中的日期值转换为年龄,然后回显。我看到了类似的问题,但我的代码仍然出现错误。

$result = 'SELECT myBirth (YEAR, CURDATE()) AS age FROM myTable';
$run = mysql_query($result);  

while($row = mysql_fetch_array($run))
{
$age = $row['myBirth']; 
}
echo  $age;  
4

2 回答 2

1

将“SQL 函数”编写为“myBirth”。并传递值(YEAR 和 CURDATE()))。在函数内部进行计算并返回年龄。

例如“myBirth”函数。

SET @d1 = YEAR, 
SET @d2 = CURDATE()

SET @d3 = DATEDIFF(@d1,@d2) 

RETURN  @d3;

这个例子只给出了一个关于做什么的想法。

于 2013-08-26T04:17:56.673 回答
0

http://www.artfulsoftware.com/infotree/queries.php#96

年龄 给定@dob 中的生日,这里有两个简单的年龄公式:

Date_format( From_Days( To_Days(Curdate()) - To_Days(@dob) ), '%Y' ) + 0

Year(Curdate()) - Year(@dob) - ( Right(Curdate(),5) < Right(@dob,5) )

这是一个以年为单位的年龄,保留小数点后两位,忽略月份中的日期:

Round((((Year(now()) - Year(@dob)))*12 + (((Month(now()) - Month(@dob)))))/12, 2)
于 2013-08-26T03:00:33.163 回答