我可以强制SQL Server使用2位int作为主键吗?

时间:2015-02-12 20:16:57

标签: sql sql-server database sql-server-2014

我正在开设一个问题库,每个问题都有一个数字序列号。我的想法是使用每个表的主键,并根据需要简单地将它们组合到视图中的新列中。但显然,SQL Server将自动开始编号为1,我希望它们分别是01,02,03 ... 09,10。

这甚至可能吗?还是有另一种方法来完成我想要做的事情?我使用的是SQL Server 2014 Standard。谢谢!

2 个答案:

答案 0 :(得分:3)

这听起来像是一个演示问题。我建议将计算列添加到零填充。这是一种方式:

alter table add questionid as (right(cast(10000 + id as varchar(255)), 2))

然后,您可以使用身份标识和零填充版本进行输出。

答案 1 :(得分:0)

不,那是不可能的。你可以做的是创建一个Sql View,它返回格式化为varchar(2)的id,如果它小于10,则将id附加到id。或者你可以使用varchar(2)作为主要标识符,但你可以必须在创建时手动创建id。