SQL Server身份对应问题

时间:2010-03-21 09:11:09

标签: sql-server-2005 tsql identity

我正在使用SQL Server,我想在其中使用身份约束

我知道如何以下列方式使用它

create table mytable
(
 c1 int primary key identity(1,1);
)

上面的代码工作正常,但如果我希望标识列的值为EMP001,EMP002,...而不是1,2 ....

提前致谢, 大师

2 个答案:

答案 0 :(得分:4)

标识列只能是整数。如果你想要它“看起来像”EMP001,EMP002等那么这只是一个显示问题而不是存储问题(也就是说,你不需要存储“EMP001”,“EMP002”等,只需通过普通标识栏将其存储为1,2,3,并在应用程序中显示作为“EMP001”,“EMP002”等)

答案 1 :(得分:2)

创建一个连接的计算列:

'EMP' + RIGHT('00' + CAST(c1 AS varchar(3)), 3)

否则IDENTITY列作为代理键就是:无意义的数字。

我假设你只有999行,或者某处有另一个序列?