在SQL Server中创建自定义自动增量字段

时间:2015-02-17 19:40:15

标签: sql sql-server

如何在15-001数据库中输入此输入,其中15是一年中的最后两位数(基于datetimeNow),而001是我的纸张编号?

1 个答案:

答案 0 :(得分:3)

您可以保留两个字段: 1. ID字段 - 在插入的每个记录上自动递增 2. Varchar ID字段 - 计算列

尝试创建这样的表:

CREATE TABLE PaperTable
(
    PaperID int IDENTITY (1,1) NOT NULL
 , PageNumber varchar(100)
  , PaperAlphaID AS Cast(Right(Year(getDate()),2) as varchar(2)) +'-'+ PageNumber
);

当我添加" 001"和" 002"在我的论文编号中:

PaperID   PageNumber  PaperAlphaID
-------   ----------  ------------
  1         001          15-001
  2         002          15-002

如果您要自动生成纸张编号,则可以使用PaperID。然后你需要输入强制转换和连接:

PaperAlphaID AS Cast(Right(Year(getDate()),2) as varchar(2)) +'-'+ Cast(PaperID  as varchar(50))