我在数据库中有一个名为myTable的表,在表中有一行名为myBirth,我插入了mybirth行日期值,该值存储为DATETIME。
我想知道如何将mysql中的日期值转换为age,然后回显它。我看到了类似的问题,但我的代码仍然出错。
$result = 'SELECT myBirth (YEAR, CURDATE()) AS age FROM myTable';
$run = mysql_query($result);
while($row = mysql_fetch_array($run))
{
$age = $row['myBirth'];
}
echo $age;
答案 0 :(得分:1)
将“SQL函数”写为“myBirth”。并传递值(YEAR和CURDATE()))。在函数内部进行计算并返回年龄。
示例“myBirth”功能。
SET @d1 = YEAR,
SET @d2 = CURDATE()
SET @d3 = DATEDIFF(@d1,@d2)
RETURN @d3;
这个例子只给出了要做什么的想法。
答案 1 :(得分: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)