SELECT floor(datediff(curdate(),str_to_date(substring('身份证',7,8),'%Y%m%d'))/365) as 年龄 FROM 表名 WHERE 条件
在上述代码中,大家使用了MySQL的floor、datediff和str_to_date函数。其中,substring函数用于从身份证中提取出生日期,str_to_date函数将该日期转换成MySQL的日期格式,datediff函数用于计算当前日期与出生日期相差的天数,而floor函数则将天数除以365,并向下取整,从而得到年龄。
在使用这个SQL语句时,大家需要替换其中的“身份证”、“表名”和“条件”为实际的值。例如,假设大家的表名为person,大家可以使用如下的SQL语句来计算某个人的年龄:
SELECT floor(datediff(curdate(),str_to_date(substring('110101199003072818',7,8),'%Y%m%d'))/365) as 年龄 FROM person WHERE id = 1;
在上述代码中,大家使用了110101199003072818作为身份证号码,并且通过id=1的条件来查询该身份证对应的人员的年龄。
总之,使用MySQL的函数来计算身份证对应的年龄是一种非常方便的方法。通过简单的SQL语句,可以快速地得到需要的结果。