什么SQL更好的计算成员年龄? (MySQL MYISAM)

时间:2014-01-18 22:51:37

标签: mysql sql

我正试图在个人资料页面显示我的成员年龄。 我找到了2个SQL查询:

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

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

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

1 个答案:

答案 0 :(得分:0)

我不确定这将如何转化为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
相关问题