SQL语句:
原始计算年龄方式: 未考虑是否过完生日了
SELECT (YEAR(NOW())- SUBSTRING(身份证号字段,7,4)) age FROM 表名 ;
改进版本: 如果未过生日就-1 否则就不减
SELECT
(YEAR(NOW()) - SUBSTRING(身份证号字段, 7, 4) - IF(DATE_FORMAT(NOW(), '%m%d') < SUBSTRING(身份证号字段, 9, 4), 1, 0)) AS age
FROM
表名;
SQL语句:
原始计算年龄方式: 未考虑是否过完生日了
SELECT (YEAR(NOW())- SUBSTRING(身份证号字段,7,4)) age FROM 表名 ;
改进版本: 如果未过生日就-1 否则就不减
SELECT
(YEAR(NOW()) - SUBSTRING(身份证号字段, 7, 4) - IF(DATE_FORMAT(NOW(), '%m%d') < SUBSTRING(身份证号字段, 9, 4), 1, 0)) AS age
FROM
表名;