SQL - 从生日记录计算年龄

时间:2013-12-09 21:06:14

标签: mysql sql

以下是我尝试计算表格中最老的人的生日:

select firstname, 
datediff(year(curtime()), min(year(birthday))) 
from TABLE_A ;

查询返回NULL。

我想我已经忘记了这是怎么做的。我很可能错过了一些简单的事情。

3 个答案:

答案 0 :(得分:1)

<强> Mysql的

SELECT year(NOW())-  year(birthday))  
FROM table WHERE condition 
ORDER BY dateField ASC LIMIT 1

Sql Server

SELECT TOP 1 DATEDIFF(YEAR, birthday, GETDATE())
FROM Table_A
ORDER BY birthday ASC

答案 1 :(得分:1)

DATEDIFF()的参数应为日期;而YEAR()的结果是一个仅表示日期年份的整数。如果您希望在TABLE_A中获得最年长者的年龄,您可以使用MySQL的TIMESTAMPDIFF()函数:

SELECT TIMESTAMPDIFF(YEAR, MIN(birthday), CURRENT_DATE) FROM TABLE_A

答案 2 :(得分:0)

SELECT YEAR(TIMEDIFF(NOW(),MIN(birthday))) FROM TABLE_A

SELECT TIMESTAMPDIFF(YEAR, MIN(birthday), NOW()) FROM TABLE_A

This list MySQL日期和时间函数将非常有用。