性校验MSSQL中身份证号码合法性校验实践(mssql 身份证号合法)
mssql 实践 校验 号码 身份证 合法 身份证号 合法性
2023-06-13 09:18:45 时间
性校验MSSQL中身份证号码合法性校验实践
在我们的日常工作中,我们经常会涉及到对用户的身份信息进行校验的情况,其中身份证号码也不例外。它在我们的系统中使用得很普遍,也可能成为必填字段。所以,如何在MSSQL中校验身份证号码是不是有效就变得尤为重要。
以下是在MSSQL中性校验身份证号码合法性的实践:
1.首先要知道身份证号码由18位数字组成,校验码的求解采用的是ISO 7064:1983,MOD 11-2 校验码系统。
2.首先校验身份证号码的长度,这里使用LEN函数实现:
SELECT
CASE WHEN LEN($IDNO) != 18 THEN "无效:身份证号码长度不正确!"
ELSE "有效" END
FROM identity
3.然后校验身份证号码是否是18位数字:
SELECT
CASE WHEN PATINDEX("%[^0-9]%","$IDNO" != 0) THEN "无效:身份证号码只能是18位数字!"
ELSE "有效" END
FROM identity
4.最后,校验身份证号码的校验码:
DECLARE
@validBit BIT = 0 ,@a int
,@sum int ,@last int
,@j int ,@y int
,@c_num int
SET @sum = 0 SET @j = 17
SET @y = 2 SET @c_num = 0
WHILE @j 0 BEGIN
SET @a = SubString($IDNo,@j,1) SET @sum = @sum + @a * @y
SET @y += 1 SET @j -= 1
IF @y 8 BEGIN
SET @y = 2 END
END
SET @last = SubString($IDNO,18,1)SET @c_num = 12 - @sum % 11
IF @c_num = 10 BEGIN
IF @last = "X" BEGIN
SET @validbit = 1 END
END ELSE IF CAST(@last as int) = @c_num
BEGIN SET @validbit = 1
END
IF @validbit = 1 BEGIN
SELECT "有效" END
ELSE BEGIN
SELECT "无效:身份证号码校验码不正确!" END
```
以上就是在MSSQL中实现性校验身份证号码合法性的实践,它可以有效避免无效的登记信息,给系统带来很多好处。以上代码只是一部分,更多的条件可以再多加判断,比如生日匹配,省份校验等。根据实际情况,可以灵活添加一些判断,从而达到更加安全的校验结果。
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 性校验MSSQL中身份证号码合法性校验实践(mssql 身份证号合法)
相关文章
- 学习MSSQL:一步一步教你使用(mssql使用教程)
- 未能连接MSSQL:网站无法打开(网站打不开mssql)
- MSSQL生成唯一ID的实践探索(生成id mssql)
- 探索MSSQL数据库的测试实践(测试mssql)
- MSSQL数据回滚技术指南(数据回滚mssql)
- 解决MSSQL数据库转换的最佳实践(怎么转mssql数据库)
- 宝塔助力企业数据库管理:应用MSSQL(宝塔 mssql)
- 分段导入MSSQL,轻松拼接:一种新思路(分段导入mssql拼接)
- 大数据时代:为什么棋牌游戏都要使用MSSQL(为什么棋牌都用mssql)
- php来支持MSSQL数据库的编码实现(php 编码 mssql)
- 样利用MSSQL随机取样获取精准数据(mssql 随机取)
- MSSQL配置提速优化:助力系统运行的最佳实践(mssql配置提速)
- MSSQL 运维管理变得更简单:新工具的革新之路(mssql运维管理工具)
- MySQL数据库的MSSQL访问实践(mssql访问mysql)
- MSSQL:设置默认实例的最佳实践(mssql设置默认实例)
- MSSQL表设计:简洁而高效的视图实践(mssql表设计视图)
- MSSQL虚拟内存管理实践(mssql 虚拟内存)
- MSSQL的范围查询与实践(mssql 范围查询)
- mssql中自增字段重新计算最佳实践(mssql自增重新计算)
- MSSQL自动设置序列号清零的实践(mssql 自动编号清零)
- 利用MSSQL进行统计优化的实践研究(mssql统计优化)
- 深入理解MSSQL系统表目录,让你轻松应对!(mssql系统表目录)
- 监控MSSQL语句执行情况的最佳实践(mssql监控执行语句)
- MSSQL简易添加数据指南(mssql 添加数据)
- MSSQL 注入实践:助力防护Web 安全(mssql 注入实战)
- MSSQL求取最大日期的最佳实践(mssql 求最大日期)
- 使用MSSQL查询系统用户信息:一把钥匙开启智能数据库系统(mssql查询系统用户)
- MSSQL查询时间格式实践指南(mssql 查询时间格式)
- MSSQL查询字段长度实践研究(mssql 查询字段长度)
- 轻松连接MSSQL:远程访问技术(远程连接mssql工具)
- 远程访问局域网MSSQL服务器技术指南(远程连局域网mssql)