才学习数据库,请请教以下,我在SQL 2005中建立一个新的数据库,在数据库中建立了一个新表,在新表中,我想让其自动生产编号,应该是那个数据类型?另外就是我设置了第二个列为身份证号码,那么我想在第三个列中能够自动通过第二列的身份证号码生成性别,我应该怎么做?能说的详细点吗?我是初学者,谢谢。

解决方案 »

  1.   

    create table tb
    (
      id  int identity(1,1),
      num  varchar(20),
      sex varchar(2)
    )
    根据身份证号判断性别的话,
    可以考虑查找身份证最后一位,
    如果是奇数则为男,偶数为女来做
    如:
    select num,case when convert(int,right(num,1))%2=0 then '女' else '男' end as sex
    from tb group by num
      

  2.   


    create   table   tb 

        id     int   identity(1,1), 
        num     varchar(20), 
        sex   varchar(2) 

    insert into tb
    select '123' ,case when convert(int,right('123',1))%2 =0then '女' else '男' end 
    --这样是向表中插入数据的时候,如果身份证号是奇数则为男,偶数则为女。
    --自增长列无需插入
      

  3.   

    船长已经帮你弄的很仔细了,
    这里再说两句:
    利用SQL Server Management Studio里插入
    另外,这个性别可考虑设置为一个公式,
    create   table   tb 

        id     int   identity(1,1), 
        num     varchar(20), 
        sex   as case when convert(int,right(num,1))%2=0 then   '女 ' else '男 ' end    
      

  4.   

    向表中插入数据
    insert into tablename(...) values(...)
    --这个应该看得懂吧?
      

  5.   

    create   table   tb 

        id     int   identity(1,1), 
        num     varchar(20), 
        sex   as case when convert(int,right(num,1))%2=0 then   '女 ' else '男 ' end    
    ) 这是创建满足你诉说的表。
    insert into tb(...) values(...)
    这是向表tb插入数据