In SQL Server how do I generate an auto-increment primary key ID that consists of year , a special char and a sequential series no.?

后端 未结 2 994
星月不相逢
星月不相逢 2020-11-30 15:09

I am encountering this kind of advance SQL coding task like generating an auto-increment primary key ID that consists of a year, a special char and a sequential seri

2条回答
  •  星月不相逢
    2020-11-30 15:26

    You should go through Computed column, which helps to manage your design. Please refer below example.

    CREATE TABLE #test(id INT IDENTITY(1,1) PRIMARY KEY, 
    Stud_ID AS CAST(YEAR(GETDATE()) as VARCHAR(4)) +'-'+ REPLICATE('0', 5 - DATALENGTH(CAST(id as VARCHAR(10))))+ CAST(id as VARCHAR(10)), 
    Stud_LName VARCHAR(100), 
    Stud_FName VARCHAR(100), 
    Stud_MName VARCHAR(100)
    )
    
    
    INSERT INTO #test(Stud_LName, Stud_FName, Stud_MName)
    values
    ('lname_1' , 'fname 1', 'mname 1'),
    ('lname_2' , 'fname 2', 'mname 2'),
    ('lname_3' , 'fname 3', 'mname 3'),
    ('lname_4' , 'fname 4', 'mname 4'),
    ('lname_5' , 'fname 5', 'mname 5'),
    ('lname_6' , 'fname 6', 'mname 6'),
    ('lname_7' , 'fname 7', 'mname 7'),
    ('lname_8' , 'fname 8', 'mname 8'),
    ('lname_9' , 'fname 9', 'mname 9'),
    ('lname_10', 'fname 10', 'mname 10')
    
    
    select * from #test;
    
    
    DROP TABLE #test;
    

提交回复
热议问题