mysql根據出生日期算每個人年齡
阿新 • • 發佈:2022-01-02
網上面列舉了很多方法,但是也都各自說明了一下弊端在哪裡,所以我這裡只記錄其中我認為最好的一個,
SELECT TIMESTAMPDIFF(YEAR, @birthday, CURDATE())
算是最佳方法,暫時.涉及到兩個函式.
這裡也說明一下第一個函式TIMESTAMPDIFF()是如何使用的.
TIMESTAMPDIFF用法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差。
mysql> SELECT TIMESTAMPDIFF(MONTH,'2009-12-01','2009-09-01'); mysql> SELECT TIMESTAMPDIFF(YEAR,'2009-05-01','2008-01-01'); select TIMESTAMPDIFF(SECOND,DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'),'2013-03-07 15:43:00') from dual SELECT DATE_FORMAT(MIN(entertime),'%Y-%m-%d') as startDt, DATE_FORMAT(MAX(entertime), '%Y-%m-%d') as endDt FROM table
下面是可以放那些值:
- FRAC_SECOND。表示間隔是毫秒
- SECOND。秒
- MINUTE。分鐘
- HOUR。小時
- DAY。天
- WEEK。星期
- MONTH。月
- QUARTER。季度
- YEAR。年
SELECT
TIMESTAMPDIFF(
YEAR
, @birthday, CURDATE())