Mysql修改年龄

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 06:29   607   0

数据库(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());

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP