以下是我尝试计算表格中最老的人的生日:
select firstname,
datediff(year(curtime()), min(year(birthday)))
from TABLE_A ;
查询返回NULL。
我想我已经忘记了这是怎么做的。我很可能错过了一些简单的事情。
答案 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日期和时间函数将非常有用。