`
zym_nanako
  • 浏览: 84415 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

15位身份证号升级为18位的SQL语句

SQL 
阅读更多
UPDATE 员工表 SET 身份证号=
  SUBSTRING(身份证号,1,6)+'18'+SUBSTRING(身份证号,7,9)+
  SUBSTRING('10X98765432',
  (
   CAST(SUBSTRING(身份证号, 1,1) AS INT)*7
  +CAST(SUBSTRING(身份证号, 2,1) AS INT)*9
  +CAST(SUBSTRING(身份证号, 3,1) AS INT)*10
  +CAST(SUBSTRING(身份证号, 4,1) AS INT)*5
  +CAST(SUBSTRING(身份证号, 5,1) AS INT)*8
  +CAST(SUBSTRING(身份证号, 6,1) AS INT)*4
  +1*2
  +8*1
  +CAST(SUBSTRING(身份证号, 7,1) AS INT)*6
  +CAST(SUBSTRING(身份证号, 8,1) AS INT)*3
  +CAST(SUBSTRING(身份证号, 9,1) AS INT)*7
  +CAST(SUBSTRING(身份证号,10,1) AS INT)*9
  +CAST(SUBSTRING(身份证号,11,1) AS INT)*10
  +CAST(SUBSTRING(身份证号,12,1) AS INT)*5
  +CAST(SUBSTRING(身份证号,13,1) AS INT)*8
  +CAST(SUBSTRING(身份证号,14,1) AS INT)*4
  +CAST(SUBSTRING(身份证号,15,1) AS INT)*2
  )
  % 11 + 1, 1)
WHERE LEN(身份证号)=15 AND SUBSTRING(身份证号,13,3) IN ('999','998','997','996')

-- 15位身份证号升级为18位,适用于19xx年出生的公民
UPDATE 员工表 SET 身份证号=
  SUBSTRING(身份证号,1,6)+'19'+SUBSTRING(身份证号,7,9)+
  SUBSTRING('10X98765432',
  (
   CAST(SUBSTRING(身份证号, 1,1) AS INT)*7
  +CAST(SUBSTRING(身份证号, 2,1) AS INT)*9
  +CAST(SUBSTRING(身份证号, 3,1) AS INT)*10
  +CAST(SUBSTRING(身份证号, 4,1) AS INT)*5
  +CAST(SUBSTRING(身份证号, 5,1) AS INT)*8
  +CAST(SUBSTRING(身份证号, 6,1) AS INT)*4
  +1*2
  +9*1
  +CAST(SUBSTRING(身份证号, 7,1) AS INT)*6
  +CAST(SUBSTRING(身份证号, 8,1) AS INT)*3
  +CAST(SUBSTRING(身份证号, 9,1) AS INT)*7
  +CAST(SUBSTRING(身份证号,10,1) AS INT)*9
  +CAST(SUBSTRING(身份证号,11,1) AS INT)*10
  +CAST(SUBSTRING(身份证号,12,1) AS INT)*5
  +CAST(SUBSTRING(身份证号,13,1) AS INT)*8
  +CAST(SUBSTRING(身份证号,14,1) AS INT)*4
  +CAST(SUBSTRING(身份证号,15,1) AS INT)*2
  )
  % 11 + 1, 1)
WHERE LEN(身份证号)=15 AND SUBSTRING(身份证号,13,3) NOT IN ('999','998','997','996')
分享到:
评论

相关推荐

    巧用SQL语句解决身份证号15位批量升级18位问题.pdf

    巧用SQL语句解决身份证号15位批量升级18位问题.pdf

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

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

    在Oracle中用Java实现身份证转换.pdf

    在Oracle数据库环境中,使用Java实现身份证转换是一种常见的技术需求,特别是在我国进行15位到18位身份证升级的过程中。Oracle数据库作为一个主流的关系型数据库,它提供了丰富的功能支持,包括通过Java来扩展其功能...

    ID_Card.rar_PowerBuilder_oracle

    15位身份证号码升级到18位时,通常需要补充出生年份的前两位(19或20)以及校验码。 在PowerBuilder中,我们可以创建自定义函数来实现这个转换。PowerBuilder是一种可视化编程工具,主要用于开发企业级的应用程序,...

    基于PB和Sybase环境的公民身份号码升位方法

    此算法会检查输入的15位身份证号码,并将其转换为18位,同时计算并添加校验码。如果计算结果对11取模等于0,则校验码为1;其他情况,根据取模结果对应于预定义的字符映射表来确定校验码。 然而,在实际应用系统中,...

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

    例如,当用户点击“查询”按钮时,VB程序会调用相应的函数,执行SQL查询语句,从Access数据库中检索匹配的身份证信息。这种事件驱动的方式使得用户界面与业务逻辑紧密耦合,提供了良好的交互体验。 Access数据库则...

    基于ASP的身份证批量解读与验证查询系统 v3.3.zip

    1. **身份证号码解析**:在中国,身份证号码由18位数字组成,包含出生日期、性别、出生地等信息。ASP程序可能包含函数或模块,用于解析这18位数字,提取出各个部分的信息。 2. **数据库连接**:为了存储和查询...

    学生档案管理系统Vb+sql

    SQL语句用于创建、查询、更新和删除这些数据,如SELECT语句用于检索特定信息,INSERT语句用于新增记录,UPDATE语句用于修改现有信息,DELETE语句用于删除不需要的数据。 系统中的关键功能模块包括: 1. 学生基本...

    java ,sql 2000图书馆管理系统

    数据库设计包括了多个表,如图书信息表、读者信息表、借阅记录表等,每个表都有明确的字段定义,如图书的ISBN号、书名、作者,读者的身份证号、姓名,以及借阅记录的借阅日期、归还日期等。通过SQL语句,可以实现对...

    图书馆管理系统(C#+SQL)

    SQL语句用于创建、修改和查询数据库表,例如定义图书表(包括书名、作者、出版社等字段)、读者表(包括姓名、身份证号等字段)以及借阅记录表。通过SQL,开发者可以高效地检索、更新和删除图书信息,实现诸如图书...

    2013年上半年 数据库系统工程师 应用技术.docx

    身份证号 CHAR(18) NOT NULL, 航班编号 CHAR(10) NOT NULL, 搭乘日期 DATE NOT NULL, 购票金额 DECIMAL(10, 2) CHECK (购票金额 > 0), FOREIGN KEY (身份证号) REFERENCES 旅客(身份证号), FOREIGN KEY (航班...

    vb+ACCESS身份证管理系统设计(论文+源代码)_计算机毕业设计源代码.rar

    例如,使用ADO(ActiveX Data Objects)技术,通过Connection、Command、Recordset等对象来实现数据库的连接、SQL语句的执行、数据的读取与写入。同时,VB还支持错误处理机制,确保程序在遇到异常情况时能够正确处理...

    VB+SQL酒店客房管理(源代码+系统+答辩PPT).rar

    使用SQL语句进行数据的增删改查操作。比如,当客人预订房间时,需要插入一条预订记录;客人退房后,更新房间状态;查询功能则方便查找特定的客房或预订信息。 5. **界面设计** 系统的用户界面应简洁明了,便于...

    VB+SQL图书管理系统.docx

    而SQL语句用于执行数据库操作,如查询、插入、更新和删除。 五、系统测试与维护 完成编码后,进行单元测试、集成测试和系统测试,确保所有功能正常运作。上线后,持续监控系统性能,及时修复可能出现的问题,并根据...

    酒店管理系统SQL+C++.docx

    - 根据需求分析中的描述,通过SQL语句创建或删除相应的表。 - 使用 `IF EXISTS` 语句检查表是否存在,确保不会因为重复创建而引发错误。 - 表的字段设计需严格按照需求文档中的规定执行。 #### 六、结论 - **...

    VB 图书馆信息管理系统(SQL).rar

    一个典型的图书馆数据库可能包括“图书”、“读者”和“借阅”等多个表,通过SQL语句,我们可以快速查找特定的图书信息,或者追踪某本书的借阅状态。 该系统的核心功能包括: 1. **图书管理**:系统可以录入新书...

    数据库房屋销售管理系统样本.doc

    使用SQL语句创建名为“房屋销售管理”的数据库,指定数据文件和日志文件的位置和大小。 ```sql CREATE DATABASE 房屋销售管理 ON (NAME = house_data, FILENAME = 'D:\house.mdf', SIZE = 10, MAXSIZE = 50, ...

    PHP 最新邮编区号查询系统

    6. **安全性**:考虑到可能存在SQL注入等安全风险,系统在处理用户输入时应该进行了适当的参数化查询或预编译语句,以防止数据被恶意篡改。 7. **性能优化**:可能还应用了其他性能优化手段,如数据库索引、数据库...

    图书馆管理系统

    这些操作通过SQL语句在数据库中进行。 2. 读者管理:添加新读者、更新读者信息及注销不再使用的读者账户。同样,这些功能通过C#调用SQL Server的API实现。 3. 借阅管理:读者可以借阅未被借出的图书,系统会记录借阅...

Global site tag (gtag.js) - Google Analytics