我想在个人资料页面上显示我的会员年龄。
我发现了2条SQL查询:

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS age FROM users




SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) / 365)


什么SQL查询更好? (为了性能,准确性等)

最佳答案

我不确定这将如何转换成mysql。但是,这里有一个T-SQL,可以根据一个人的出生日期和当前日期计算该人的年龄。

select case
            when cast(getdate() as date) = cast(dateadd(year, (datediff(year, '1996-09-09', getdate())), '1996-09-09') as date)
                then dateDiff(yyyy,'1996-09-09',dateadd(year, 0, getdate()))
            else dateDiff(yyyy,'1996-09-09',dateadd(year, -1, getdate()))
        end as MemberAge
go

10-06 04:30
查看更多