|
数据库(MySql)中经常需要修改年龄,一般根据身份证号修改,或是根据出生日期修改;做个简单的记录:
1.需要根据身份证号修改年龄,这个语句只是判断了18位身份证
UPDATE `表名称` T SET T.`AGE` = (SUBSTRING(NOW(),1,4)-SUBSTRING(T.`身份证号`,7,4))-(SUBSTRING(T.`身份证号`,11,4)-DATE_FORMAT(NOW(),'%m%d')>0) WHERE LENGTH(T.`ID_NUMBER`) = 18 AND SUBSTR(T.`ID_NUMBER`, 11, 2)+0 <= 12 AND SUBSTR(T.`ID_NUMBER`, 11, 2) <> '00' AND SUBSTR(T.`ID_NUMBER`, 13, 2)+0 <= 31 AND SUBSTR(T.`ID_NUMBER`, 13, 2) <> '00';
2.根据出生日期修改:
UPDATE `表名称` T SET T.`AGE` = TIMESTAMPDIFF(YEAR, `出生日期`, CURDATE());
|