如何在SQL SERVER 2008中的字母(A,B,C,D ...)中启用自动增量?

Joe*_*ard 6 sql sql-server char auto-increment sql-server-2008

我是SQL SERVER的新手.我找到了如何自动增加列的数字.

在此输入图像描述

CREATE TABLE Region
(
RegionId int IDENTITY(1,1),
RegionName varchar(50),
);
Run Code Online (Sandbox Code Playgroud)

问题:如何在字母(A,B,C,D ......)中启用"自动增量"?

在此输入图像描述

Bri*_*dge 6

虽然Damien在评论中正确地说,值可能存在差距,并且依赖于连续的值不是一个好主意,如何将RegionName添加为计算列:

ALTER TABLE Region
ADD RegionName AS CHAR(RegionID + 64)
Run Code Online (Sandbox Code Playgroud)

这是因为'A'的ASCII值是65 - 所以假设你的标识列从值1开始,增量为1,你应该得到CHAR (64+1)= CHAR(65)- 代码A,2 = CHAR(66)= B等等.

当然,这只能基于以下假设:您不希望稍后将RegionName更改为更友好的事物(计算列时),并且您只需要一小部分值 - 例如,您期望的是什么如果超过26个地区会发生?根据我的想法,你会在那之后开始得到一些时髦的结果 - 符号,小写字母等.如果你不熟悉这个想法,请参阅ASCII表.如果你想要更聪明的东西开始创建名称为AA,AB,AC等的区域.我建议遵循Aishvarya在评论中发布的优秀序列生成链接.

SQL小提琴示例