如何将前导零添加到自动编号ID

时间:2018-02-05 20:10:20

标签: sql sql-server

我需要添加" TransactionID"到一个文件 - 它将是一个唯一标识每个记录的数字。必须是所有数字字符,使用前导零来完成字段。数据类型是最大长度为12的文本。

因此1将是" 000000000001"如果数字是1657那么它应该打印" 00000001657"。

我这样做但是TransactionID没有前导零,所以我需要帮助来添加前导零。我正在使用SQL Server Management Studio。

//*[@id="root"]/div/div/div[1]/section/article[7]/table/tbody/tr[1]/td[1]

真正的程序员离开了,我正在尽力修复他离开的地方。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您使用的是SQL Server,那么您很幸运。您可以使用计算列。我会先将标识列放在第一位,因此表格如下所示:

CREATE TABLE TMP_TOC_FINAL (
     TransactionID INT identity (1,1) Primary key,
     Agency_Code VARCHAR(3),
     Consumer_ID INT,
     Program_Area_ID INT,
     Discharge_Status VARCHAR(,2),
     Admit_Date NVARCHAR(20)
     Discharge_Date NVARCHAR(20), 
     TransactionId_str as (right(replicate('0', 12) + cast(TransactionID as varchar(12)), 12)
);

您现在可以使用TransactionId_str作为输出。我应该注意,整数最大值大约为2,000,000,000 - 即10位数,而不是12位。