我们要操作的数据库表(idset)为:
表结构如下:
我们想在表中的身份证号码中提取出某人的出生年、年龄、出生日期,对应的字段分别为:year、age和csrq 。
(1)year的提取
update idset set year = substring(sfzhm,7,4)
where len(sfzhm)=18
结果如下:
上述命令,只针对身份证正确的情况,如果某个身份证号出现了错误会出现什么情况呢?如下图身份证中的“1982”错误的录入为“1+82”
再次执行上述命令出现:
这时怎么解决呢?我们用模糊搜索把这条不对的记录找出来改正就行了
“%”代表任意长度的字符串。也可用以下命令
其中“-”代表单个的字符