sql server 验证身份证号码有效性
来源:互联网 发布:开淘宝店需要注意哪些 编辑:程序博客网 时间:2024/04/28 14:51
有些情况下 ,数据库里的身份证号码有很多无效数据,这时候要刷选所有有效的身份证号码数据该如何做呢?
可以建一个函数,然后直接调用即可,sql如下:
-- Add the parameters for the stored procedure here
RETURNS BIT
AS
BEGIN
DECLARE @ValidFactors VARCHAR(17),
@ValidCodes VARCHAR(11),
@I TINYINT,
@iTemp INT
--位数不满足则为非法ID
IF Len(@ID) <> 15 AND Len(@ID) <> 18
RETURN(0);
--如果是15位身份证 则只验证日期和是否数字格式
IF LEN(@ID)=15
IF ISDATE('19'+SUBSTRING(@ID,7,6))=0 OR @ID NOT LIKE REPLICATE('[0-9]',15)
RETURN(0);
ELSE
RETURN(1);
/*18位身份证 验证日期 校验位 */
--验证日期和前17位是否数字格式
IF ISDATE(SUBSTRING(@ID,7,8))=0 OR LEFT(@ID,17) NOT LIKE REPLICATE('[0-9]',17)
RETURN(0);
--验证校验位开始
SELECT @ValidFactors='79A584216379A5842',
@ValidCodes='10X98765432',
@I=1,@iTemp=0
WHILE @i<18
BEGIN
SELECT
@iTemp=@iTemp+CAST(SUBSTRING(@ID,@i,1) AS INT)*(CASE SUBSTRING(@validFactors,@i,1) WHEN 'A' THEN 10 ELSE SUBSTRING(@ValidFactors,@i,1) END)
,@i=@i+1
END
IF SUBSTRING(@ValidCodes,@iTemp%11+1,1)=RIGHT(@ID,1)
RETURN(1);
ELSE
RETURN(0);
RETURN NULL;
END
GO
0 0
- sql server 验证身份证号码有效性
- 中国大陆身份证号码有效性验证
- 中国大陆身份证号码有效性验证
- 身份证号码有效性验证
- PHP 验证身份证号码有效性
- JAVA 身份证号码有效性验证
- 身份证号码有效性验证
- SQL Server 验证身份证号码准确性
- js实现中国公民身份证号码有效性验证
- 身份证号码有效性检测
- SQL简单验证身份证号码位数、出生日期、性别
- SQL函数验证身份证号码是否有效
- ios严格检验身份证号码有效性
- 校验身份证号码的有效性【JS】
- 验证身份证号码
- 身份证号码验证
- 验证身份证号码
- 身份证号码验证
- 线段树
- python 读取文件以及对文件的json字符串的操作
- Sqoop工具实现,hive、Hbase、HDFS与mysql、oracle数据导入
- HashSet 源码解读
- 【置顶】Errors occurred during the build完美解决之道
- sql server 验证身份证号码有效性
- 前端与后台交互框架之dataTable
- JavaWeb之抓包之旅
- Android时间轴效果,直接使用在你的项目中
- SCI论文编辑教你如何准备SCI论文和写作 [转]
- javascript在线调试分享网站
- Ubuntu 12.04卸载MySQL
- iOS开发小技巧[002]:随心所欲设置表格分割线水平间距
- 【超清晰】进程和线程的联系和区别