Hive SQL 通过生日精确计算年龄

SELECT IF(DATEDIFF(CURRENT_DATE, CONCAT(SUBSTR(CURRENT_DATE, 0, 4), SUBSTR('2015-03-04', 5, 7))) >= 0,

DATEDIFF(CURRENT_DATE, '2015-03-04') / 365,

DATEDIFF(CURRENT_DATE, '2015-03-04') / 365 - 1);

select if(datediff(CURRENT_DATE, CONCAT(substr(CURRENT_DATE, 0, 4), substr('2015-03-04', 5, 7))) >= 0,

(substr(CURRENT_DATE, 0, 4) - substr('2015-03-04', 0, 4)),

(substr(CURRENT_DATE, 0, 4) - substr('2015-03-04', 0, 4) - 1));

SELECT FLOOR((CAST(CONCAT(SUBSTR(CURRENT_DATE, 0, 4), SUBSTR(CURRENT_DATE, 6, 2), SUBSTR(CURRENT_DATE, 9)) AS INT) -

CAST(CONCAT(SUBSTR('2015-03-04', 0, 4), SUBSTR('2015-03-04', 6, 2), SUBSTR('2015-03-04', 9)) AS INT)) /

10000);

MySQL 通过生日精确计算年龄

SELECT YEAR(CURRENT_DATE()) - YEAR(birthday) - (DAYOFYEAR(CURRENT_DATE()) < DAYOFYEAR(birthday)) AS age

FROM table_name;

参考

https://blog.csdn.net/XiangFei_Niu/article/details/88262998

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: