函数
FUNCTION `idcard2age`(`idcard` varchar(255)) RETURNS int(10)
BEGIN
if idcard regexp '[0-9]{18}|[0-9]{17}X|[0-9]{15}' then
if(length(idcard)=18)then
return ifnull(timestampdiff(YEAR,substring(idcard,7,8),now()),-1);
elseif(length(idcard)=15)then
return ifnull(timestampdiff(YEAR,concat('19',substring(idcard,7,6)),now()),-1);
end if;
end if;
RETURN -1;
END
虚拟字段
if(length(`证件号码`)=18,ifnull(timestampdiff(YEAR,substring(`证件号码`,7,8),now()),-1) , if(length(`证件号码`)=15,ifnull(timestampdiff(YEAR,concat('19',substring(`证件号码`,7,6)),now()),-1),-1))