SQL简单验证身份证号码位数、出生日期、性别

您所在的位置:网站首页 表格LEN SQL简单验证身份证号码位数、出生日期、性别

SQL简单验证身份证号码位数、出生日期、性别

#SQL简单验证身份证号码位数、出生日期、性别| 来源: 网络整理| 查看: 265

主要验证SQL数据库中已输入的15位 及18位 身份证号码的位数、出生年月日是否正确,可以过滤出大部分的输入错误。

 

or (len(身份证号)=18 and (Substring(身份证号,7,2)'20'        or (Substring(身份证号,11,2)>12)or (Substring(身份证号,11,2) in (01,03,05,07,08,10,12) and Substring(身份证号,13,2)>31)or (Substring(身份证号,11,2) in (04,06,09,11) and Substring(身份证号,13,2)>30)or (Substring(身份证号,11,2)=02 and Substring(身份证号,13,2)>29)))

---------------------- 下面是针对 15位 及18位 身份证号码性别的验证语句 -------------------- Access 不支持 Substring 查询,可以替换为 mid 查询。

select 序号,姓名,身份证号,性别from 身份表where (((len(身份证号)=15) and (Substring(身份证号,15,1) in (1,3,5,7,9)) and 性别'男')or ((len(身份证号)=15) and (Substring(身份证号,15,1) in (2,4,6,8,0)) and 性别'女'))

or (((len(身份证号)=18) and (Substring(身份证号,17,1) in (1,3,5,7,9)) and 性别'男')or ((len(身份证号)=18) and (Substring(身份证号,17,1) in (2,4,6,8,0)) and 性别'女'))注:转载请注明出处

---------------------- 下面是针对 15位 及18位 身份证号码位数与出生年月日的验证 -------------------- Access 不支持 Substring 查询,可以替换为 mid 查询。 select 序号,姓名,身份证号,性别from 身份表where (len(身份证号)15 and len(身份证号)18)or (len(身份证号)=15 and ((Substring(身份证号,9,2)>12)or (Substring(身份证号,11,2) > 31)or (Substring(身份证号,9,2) in (01,03,05,07,08,10,12) and Substring(身份证号,11,2)>31)or (Substring(身份证号,9,2) in (04,06,09,11) and Substring(身份证号,11,2)>30)or (Substring(身份证号,9,2)=02 and Substring(身份证号,11,2)>29)))


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3