mysql 定义年龄属性,从MySQL中出生日期算起年龄

I have a table in mysql with birth date column that saved as unix timestamp (bigint).

I want to write query like this:

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

And

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

When the 3 dots is the function that calculate the age from the birth date.

I know about the function TIMESTAMPDIFF, but it's not good if I save the birth date as unix timestamp.

What can I do?

Thanks

解决方案

From MySQL's date and time functions, we can combine TIMESTAMPDIFF, NOW, and FROM_UNIXTIME.

Supposing that dob is a Unix timestamp representing date of birth:

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

From there, it's simple enough to add a WHERE clause based on the column value.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值