数据库有两列,一列身份证号码,一列生日
如何从身份证号码提取出生日?并更新生日列~

解决方案 »

  1.   

    现在身份证号码都18位吧,直接Substring啊
      

  2.   

    身份证号码生日前那些位长不是固定的 吗。。?你用SUBSTRING截取固定长度8不就行了吗。。?
      

  3.   

    现在身份证号码统一了,Substring就可以吧
      

  4.   

    这个比较容易,先判断是15位还是18位,然后用substring,mid等字符串函数截取
      

  5.   

      if(15位)   
      substring('xxxx',7,6)   
      if(18位)   
      substring('xxxx',7,8)   
      else(其他)
      

  6.   

    15位和18位的区别貌似就是改了4位年份和添加最后一位数。
    先判断15位还是18位,然后分别substring就行了。
      

  7.   

    Me.TextBox2.Text = Me.TextBox1.Text.ToString.Substring(6, 8)
    先取到生日,然后再update表就好了啊
      

  8.   

    刚才写的是SQL的下面这个是.net
                    string code = "******19810805****";
                    string redcode = string.Empty;
                    if (code.Length == 18)
                        redcode = code.Substring(6, 8);
                    Response.Write(redcode);
      

  9.   

    先筛选出身份证长度是15位和18位的身份证
    select case len(身份证号) when 18 then left(身份证号,6)+left(right(身份证号,10),9)
    when 17 then left(身份证号,6)+left(right(身份证号,9),8) else 身份证号 end as 原始身份证 from 表名 统一转换成15位身份证后,再处理。 
      

  10.   

    先看是15还是18位之后截取长度,转换城datetime就可以了。
      

  11.   

    判断  15位的,"19"+no.SubString(6,6);
         18位的      no.SubString(6,8);
      

  12.   

    先执行select语句查询出身份证一列,存入一个string数组str1
    使用str1.Substring(6,8)分割出生日,存入一个string数组str2
    再循环执行insert语句,将str2中的生日存入数据表中
      

  13.   

    就直接用SUBSTRING就可以了,楼上已经说的很清楚了