小编典典

在MySQL中从出生日期算起年龄

sql

我在mysql中有一个表,它的出生日期列保存为unix时间戳(bigint)。

我想这样写查询:

SELECT ... as `age` FROM `tableName`

SELECT * FROM `tableName` WHERE ... > 30

3点是从出生日期算起年龄的函数。

我知道该函数TIMESTAMPDIFF,但是如果将出生日期另存为unix时间戳,那就不好了。

我能做些什么?

谢谢


阅读 199

收藏
2021-04-07

共1个答案

小编典典

从MySQL的日期和时间函数,我们可以结合TIMESTAMPDIFFNOWFROM_UNIXTIME

假设这dob是表示出生日期的Unix时间戳:

 TIMESTAMPDIFF(YEAR, FROM_UNIXTIME(dob), NOW())

从那里开始,WHERE基于列值添加一个子句就足够简单了。

SQLFiddle上的实时演示。

2021-04-07