带有文本的SQLServer IDENTITY列

6 sql-server identity

如何在SQLServer中使用列中的文本创建IDENTITY列?

例:


ABCD-987065
ABCD-987066
ABCD-987067

Mit*_*eat 16

除了其他答案之外,您还可以在表格上创建计算列以提供您要求的内容.

CREATE TABLE dbo.MyTable
(
    Id int NOT NULL PRIMARY KEY,
    CombinedId AS 'ABCD-' + CAST(Id as varchar(16)) 
)
Run Code Online (Sandbox Code Playgroud)

要么:

CREATE TABLE dbo.MyTable
(
    Id int NOT NULL PRIMARY KEY,
    PrefixField varchar(16),
    CombinedId AS PrefixField + CAST(Id as varchar(16)) 
)
Run Code Online (Sandbox Code Playgroud)

(你的问题没有说明前缀是否有意...)


Ran*_*der 0

不可以。实际的列类型必须是 int 或 bigint 也可以。