else if (substring(@18位标准身份证号,1,6) not in
(select 行政区划代码 from 行政区划代码表))
insert into 不合理身份证号记录表 values(@身份证号,@性别,'区划错误')
else if( (cast(substring(@18位标准身份证号,17,1) as int) %2=1 and @性别<>'男')
or (cast(substring(@18位标准身份证号,17,1) as int) %2=0 and @性别<>'女'))
insert into 不合理身份证号记录表 values(@身份证号,@性别,'性别校验错误')
else
Begin try
if(cast(substring(@18位标准身份证号,7,8) as DATE)
not between '1900-01-01' and GETDATE())
insert into 不合理身份证号记录表 values(@身份证号,@性别,'生日异常')
else if(dbo.f_CID15to18(substring(@18位标准身份证号,1,6)
+ substring(@18位标准身份证号,9,9))
<>@18位标准身份证号)
insert into 不合理身份证号记录表 values(@身份证号,@性别,'校验位错误')
End try
BEGIN Catch
insert into 不合理身份证号记录表 values(@身份证号,@性别,'生日错误')