我在mysql中有一个表,它的出生日期列保存为unix时间戳(bigint)。
我想这样写查询:
SELECT ... as `age` FROM `tableName`
和
SELECT * FROM `tableName` WHERE ... > 30
3点是从出生日期算起年龄的函数。
我知道该函数TIMESTAMPDIFF,但是如果将出生日期另存为unix时间戳,那就不好了。
TIMESTAMPDIFF
我能做些什么?
谢谢
从MySQL的日期和时间函数,我们可以结合TIMESTAMPDIFF,NOW和FROM_UNIXTIME。
NOW
FROM_UNIXTIME
假设这dob是表示出生日期的Unix时间戳:
dob
TIMESTAMPDIFF(YEAR, FROM_UNIXTIME(dob), NOW())
从那里开始,WHERE基于列值添加一个子句就足够简单了。
WHERE
SQLFiddle上的实时演示。