我想根据给定的用户出生日期计算年龄。 我该怎么做 ?蜂巢中有没有特定的命令? 找不到太多东西。我尝试使用DATEDIFF,但没有得到正确的输出,只给出了空
SELECT FLOOR(DATEDIFF(DAY, user_dob, unix_timestamp()) / 365.25)
答案 0 :(得分:4)
试试这个:
select
floor(datediff(to_date(from_unixtime(unix_timestamp())),
to_date(cust_brth_day)) / 365.25)
from some_table;
答案 1 :(得分:0)
当年减去出生年
如果他们的出生月份大于当月-1,则加上
如果他们的出生月份等于当前月份
并且月份的出生日期大于月份的当前日期-1
select birth_date
, current_year
, (year(current_date) - year(birth_date)
+case when month(birth_date) > month(current_date) then -1
when month(birth_date) = month(current_date) and day(birth_date) > day(current_date) then -1
else 0
end) as age
from person