`

sql实现15位身份证转化为18位身份证

 
阅读更多

create function f_CID15to18 (@sfz char(18)) 
returns char(18)
as
begin 
 
    declare @osfz varchar(18)
    declare @i int,@ai int,@wi int,@sum int,@mod int,@result int
     
     
    set @osfz = @sfz
    set @sum = 0
    IF len(@osfz) = 15 
    begin
         
        set @osfz = substring(@osfz,1,6) + '19' + substring(@osfz,7,9)
        set @i = 2
         
        while @i <= 18  
        begin
            set @ai = cast(substring(@osfz,19 - @i,1) as int)
            set @wi = POWER (2, (@i - 1))% 11 
            set @sum = @sum + @ai * @wi
            set @i = @I + 1
        end  
 
        set @mod =  @sum % 11 
        set @result = 12 - @mod
 
        IF @result >= 10  
            IF @result = 10  

		   begin 
          
                RETURN @osfz + 'X'
            end 

            ELSE 
            begin 
                set @result = @result - 11
                RETURN @osfz + ltrim(@result)
            end 
        ELSE  
            RETURN @osfz + ltrim(@result)
    end
    ELSE  
        RETURN @sfz
    return @sfz
end 
go

select  dbo.f_CID15to18(tt.SFZH) from  (
	    SELECT TOP 100 SFZH
 FROM [cddpf].[dbo].[T_CJ_RKJCXX] 
WHERE (PERSON_ID >
          (SELECT MAX(PERSON_ID)
         FROM (SELECT TOP 4900 PERSON_ID
                 FROM [cddpf].[dbo].[T_CJ_RKJCXX] 
				  where len(SFZH)=15
                 ORDER BY PERSON_ID) AS T))
				  and   len(SFZH)=15
ORDER BY PERSON_ID
 
	) as tt



drop function f_CID15to18



分享到:
评论

相关推荐

    身份证号码转化(Swing、JDBC、异常)原创

    例如,可能需要将15位的老版身份证号码升级到18位,或者从纯数字格式转化为包含校验码的完整格式。这通常需要对身份证号码的结构和计算规则有深入的理解。 在提供的压缩包中,"身份证号码转化(Swing、JDBC、异常)...

    身份证前六位编码以及所代表的省,市,区数据库

    身份证前六位编码以及所代表的省,市,区数据库文件,如'320583'对应'江苏省苏州市昆山市'. 压缩包中city.sql是Navicat for MySQL数据库工具转存出来的,需要MySql运行sql文件. 压缩包中city.db是SQLite Expert ...

    PHP实例开发源码-521yy PHP身份证归属地查询.zip

    中国的身份证号码由18位数字组成,前6位代表地区代码,接下来的8位代表出生日期,然后的3位是顺序号,最后1位是校验码。PHP中可以使用字符串处理函数对这些信息进行解析。 在实现归属地查询时,通常会有一个包含...

    postgres 身份证前6位省市匹配表

    postgresql身份证前6位省市匹配表,可自己转化为mysql或者Oracle,表结构:CREATE TABLE "public"."area" ( "id" int4 NOT NULL, "code" varchar(255) COLLATE "pg_catalog"."default", "province" varchar(255) ...

    vb+ACCESS身份证管理系统设计(论文+源代码).zip

    例如,用户在界面上填写身份证信息后,VB程序会将这些数据转化为SQL插入语句,发送到ACCESS数据库中存储。 此外,系统可能还包括身份证信息的验证功能,如检查身份证号码的合法性,这通常涉及一些特定的算法。VB...

    企业人事管理系统(C#+sql server 2008)

    设计者可能使用了ER(实体关系)模型来定义实体、属性和关系,然后转化为具体的表结构。此外,可能还利用了视图、存储过程和触发器等高级特性来简化复杂查询和业务逻辑。 使用说明文档是帮助用户理解和操作系统的...

    身份证号查询、复合条件查询,增删改查信息管理系统

    在后台,这会转化为带有逻辑运算符(如AND、OR)的SQL查询语句,提高查询的灵活性和精确度。 5. **增删改查操作**: 这是最基本的数据管理功能。增加数据涉及`INSERT INTO` SQL语句,删除数据使用`DELETE FROM`,...

    PHP实例开发源码—521yy PHP身份证归属地查询.zip

    在实际的网络应用中,这样的功能通常用于验证用户输入的身份证信息是否合法,并提供对应的户籍信息,为用户提供便利。 1. **PHP基础** PHP是一种服务器端脚本语言,常用于网页开发。在本实例中,PHP作为后端处理...

    C#对SQLServer中的数据导入导出.pdf

    数据导入的关键步骤涉及使用C#语言读取Excel文件,并将其内容转化为SQL Server数据库中的数据。首先,通过创建一个名为`frmInputStudent.cs`的Windows窗体,用户可以直观地进行数据导入操作。窗体上包含了以下几个...

    PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)

    【PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)】 PowerDesigner是一款强大的数据建模工具,广泛应用于数据库设计中。在关系数据库领域,CDM(Conceptual Data Model)和PDM(Physical Data ...

    《SQL Server课程设计报告--图书借阅管理系统的设计与实现》

    在软件实现阶段,C#作为主要开发语言,将设计转化为可执行的代码。开发者会创建对应的数据库表结构,编写存储过程、触发器等SQL语句来处理业务逻辑。同时,使用适当的框架(如ASP.NET)开发用户界面,实现前后端交互...

    全国省市区对应地址

    在中国,身份证号码由18位数字组成,分为6个部分,分别是: 1. 地区码(前6位):表示持证人的户口所在地的行政区划代码,第一位代表省份,第二位代表城市,第三至六位代表区县。 2. 出生日期码(7-14位):表示持证...

    SQLSERVER数据库管理实训-图书管理系统实训报告.doc

    总的来说,这个实训报告涵盖了从需求分析、系统设计到数据库实现的全过程,展示了SQLSERVER在实际业务场景中的应用,对于提升数据库管理和信息系统设计的技能具有重要意义。未来的学习中,应注重理论与实践的结合,...

    vb+sql医院门诊管理系统(系统+论文+开题报告+任务书+文献综述+参考文献).zip

    3. 数据库设计与关系模型:系统中的数据库设计遵循了关系数据库模型,通过实体-关系(E-R)图,将医院门诊管理的各个实体(如患者、医生、药品、就诊记录)及其关系转化为表,实现数据的有效组织和管理。 4. 用户...

    客房管理系统VBSQL样本.doc

    2. 逻辑结构设计:将E-R图转化为关系模式,确保所有表达到第三范式,保证数据的一致性和完整性。 - 管理员(编号,账号,密码,权限) - 房间(编号,类型,价格,状态,入住客户编号) - 客户(编号,姓名,性别...

    SQL+邮局订报子系统+Qt

    7. **逻辑结构设计**:在概念结构设计的基础上,进一步转化为具体的表结构,以适应特定数据库管理系统(如MySQL、PostgreSQL等)。这包括定义表的字段、数据类型和约束,确保数据的一致性和完整性。 8. **数据库表...

    数据库sql语言实验(1) 数据库概念设计和逻辑设计

    E-R图转化为逻辑设计后,我们将使用数据定义语言(DDL)来创建数据库表。例如,对于连锁超市,可能创建一个"supermarket"表,包含企业代码、名称、法人代表、地址和联系电话字段;对于加盟店,可能创建一个"branch...

    基于SQL Server的学生学籍管理系统数据库设计.pdf

    在探讨基于SQL Server的学生学籍管理系统数据库设计时,我们需要重点关注几个核心领域:软件工程中的结构化分析与设计方法、数据库需求分析、概念设计和逻辑结构设计、以及数据库的物理设计与实现。以下内容将详细...

    atm.rar_atm sql_银行ATM

    通过深入研究这个文档,我们可以了解如何将业务逻辑转化为实际的数据库模型,这对于数据库管理员、软件开发者以及系统架构师来说都是宝贵的教育资源。 总之,银行ATM系统的数据库设计是一个复杂的工程,需要综合...

Global site tag (gtag.js) - Google Analytics