在excel中根据身份证抽取客户生日
数据清理过程中经常发现客户的五要素之一:生日 不准确,此时可以根据身份证抽取生日字符串在excel中进行更新。
在excel里面输入一下代码,抽取正常18为身份证的出生日期。
=IF(LEN(N2)=18,TEXT(TEXT(MID(N2,7,6+(LEN(N2)=18)*2),"##-##-##"),"YYYY-MM-DD"),"1998-01-01")
|
在excel里面构造update语句:
="update cg_insured set birth_date ='"&B1&"' where cg_id = "&D1&" and ipsn_no = "&A1&";"
|
对excel里面每一行数据产生一条update
复制update语句,保存为upd.sql 上传到服务器 执行:
剩下的时间 就是等待了。不用担心锁表等问题跟update多条记录的问题
(*^__^*) 嘻嘻……
在网上搜索了一下 发现excel有很多可以使用的公式,单从身份证可以计算出很多有用的信息.
--15位身份证跟18位身份证通用 TEXT(RIGHT(19&MID(A2,7,LEN(A2)/2-1),8),"#-##-##") =TEXT(MOD((19&MID(A1,7,LEN(A1)/2-1)),19*10^8),"#-00-00") --求性别 =IF(MOD(MID(A1,15,3),2),"男","女") -- 求年龄 =DATEDIF(出生日期,NOW(),"Y") --校验码 =MID("10X98765432",MOD(SUM(MID(REPLACE(A1,7,,19),ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)
|
阅读(825) | 评论(0) | 转发(0) |