010-52863266 

中国审计网欢迎您 , 为您提供专业的审核课程

用工匠精神       圆心中那个梦

新闻动态 真实、正向、传递价值

当前位置:首页 > 新闻动态

最新资讯 News

谈编码数据审计的分析技巧

来源: | 作者: | 发布时间: 2022-04-02 | 933 次浏览 | 🔊 点击朗读正文 ❚❚ | 分享到:

          IF @result >=10
              IF @result=10 
                  RETURN @osfz + 'X'
              ELSE
              begin
                  set @result=@result - 11
                  RETURN @osfz + ltrim(@result)
              end
          ELSE 
              RETURN @osfz + ltrim(@result)
      end
      ELSE      --若非旧身份证号码
          RETURN @sfz
      return @sfz
  end
  
  分析二:检查出不合理的身份证号码  
  检查不合理身份证号码(只判断号码的合理性,不判断真假,真假需经公安机关认证)的规则至少包括:1、不包括非法字符;2、15位或者18位;3、行政区划代码在国家统计局公布范围之内;4、(若为15位则在转化为18位后)左起第17位数字奇偶性与性别对应正确;5、出生年月在合理范围;6、(18位号码)校验位正确;
  
  设身份证号码所在表中有字段姓名、性别、身份证号;行政区划代码表中有字段行政区划代码、行政区名,筛选不合理身份证号码记录所需SQL代码(预先创建不合理身份证号记录表,其建表代码略;需使用上述分析一中创建的函数):
  DECLARE cur1 CURSOR FOR
     select 身份证号,性别 from 身份证号码所在表
  DECLARE  @身份证号 varchar(50),@性别 varchar(10),@18位标准身份证号 varchar(50)
  Open cur1
  Fetch next from cur1 into  @身份证号,@性别
  While @@FETCH_STATUS=0
  Begin
     if(isnumeric(substring (@身份证号,1,17))=0
        or (len(@身份证号)=18 and substring(@身份证号,18,1) not like '[0-9|X]'))
        insert into 不合理身份证号记录表 values(@身份证号,@性别,'包括非法字符')
     else(
         set @18位标准身份证号=dbo.f_CID15to18(@身份证号)
         if(LEN(@18位标准身份证号)<>18) 
             insert into 不合理身份证号记录表 values(@身份证号,@性别,'位数错误')

联系我们 Contact US

  •   公司地址: 北京市海淀区永定路乙1号 

      电话号码:010-52863266

      传真号码:010-89294300

      E-mail:zhongshenpei@126.com